Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inny][Laravel] Początki, i parę prostych pytań
Forum PHP.pl > Forum > PHP
Randallmaster
Witam,

Zacząłem uczyć się Laravela i generalnie mam prawdopodobnie problem z podstawami, więc osobą które mi pomogą z góry dziękuję za wyrozumiałość i pomoc.

1. Co oznaczają takie zapisy (nie chodzi mi o to co wykonuje np Auth, chodzi mi o to co oznacza taki zapis z dwoma dwukropkami) oraz jak dostać się do ich funkcjonalności:
a) Auth::attempt
cool.gif ThrottlesLogins::class
c) Route::get

2. postLogin(Request $request) <- po co jest z przodu słowo Request, co ono oznacza oraz, co wykonuje?
3. Nie mogę nigdzie znaleźć co robi funkcja: class_uses_recursive()

Na chwilę obecną tylko te dwa pytania.
nospor
Twoje pytania nie mają zadnego związku z Laravelem.... to są podstawy php.


ad1)
Klasa::metoda_statyczna_klasy - patrz manual

ad2) Okreslenie typu argumentu - patrz manual w dziale funkcje.

przenosze
Pyton_000
3.
  1. /**
  2.   * Returns all traits used by a class, its subclasses and trait of their traits.
  3.   *
  4.   * @param string $class
  5.   * @return array
  6.   */
  7. function class_uses_recursive($class)
  8. {
  9. $results = [];
  10.  
  11. foreach (array_merge([$class => $class], class_parents($class)) as $class) {
  12. $results += trait_uses_recursive($class);
  13. }
  14.  
  15. return array_unique($results);
  16. }
Randallmaster
Cytat(nospor @ 6.07.2015, 09:31:58 ) *
Twoje pytania nie mają zadnego związku z Laravelem.... to są podstawy php.


ad1)
Klasa::metoda_statyczna_klasy - patrz manual

ad2) Okreslenie typu argumentu - patrz manual w dziale funkcje.

przenosze


nospor mógłbyś przesłać jakieś linki?

Pyton_000 <- dzięki zauważyłem że funkcje te znajdują się w helpers.php smile.gif

1) W którym pliku mogę znaleźć metodę attempt z klasy Auth? Auth::attempt
nospor
Ale masz lenia....

http://php.net/manual/en/language.oop5.static.php

Co do drugiego napisalem ci wyraźnie w jakim dziale masz szukac. Czas najwyzszy sie zapoznac ze strukturą manuala a dopiero potem brac sie za LAravela...

edit: widze ze ad2 nie do konca w dziale funkcje jest...
http://php.net/manual/en/language.oop5.typehinting.php
Pyton_000
http://pastebin.com/rhqFHZ2n
IDE Helper.
Powodzenia w szukaniu.
Randallmaster
nospor to z powodu poniedziałku smile.gif i poniekąd weekendu tongue.gif

Już mi troszeczkę się rozjaśniło natomiast ciągle nie mogę odnaleźć tej funkcji: Auth::attempt,
Może inaczej, odnalazłem ją w pliku \Illuminate\Auth\Guard dlaczego, z zapisu Auth::attempt wynika że Auth jest klasą więc szukałem (class auth ). no i znalazłem:

  1. <?php
  2.  
  3. namespace Illuminate\Support\Facades;
  4.  
  5. /**
  6.  * @see \Illuminate\Auth\AuthManager
  7.  * @see \Illuminate\Auth\Guard
  8.  */
  9. class Auth extends Facade
  10. {
  11. /**
  12.   * Get the registered name of the component.
  13.   *
  14.   * @return string
  15.   */
  16. protected static function getFacadeAccessor()
  17. {
  18. return 'auth';
  19. }
  20. }


No i pisze że mam sobie zajrzeć do pliku \Illuminate\Auth\Guard to funkcję znalazłem:

  1. public function attempt(array $credentials = [], $remember = false, $login = true)
  2. {
  3. $this->fireAttemptEvent($credentials, $remember, $login);
  4.  
  5. $this->lastAttempted = $user = $this->provider->retrieveByCredentials($credentials);
  6.  
  7. ...



No ale tak.

1) To nie jest funkcja statyczna, jeżeli się mylę wyprowadź mnie proszę z błędu smile.gif
2) Po zapisie w pliku auth.php nie widać aby miała dostęp do guard.php, nie mogę znaleźć co daje dostęp do pliku guard.php, oczywiście jeżeli tam znajduje się funkcja attempt której szukam.





Cytat(Pyton_000 @ 6.07.2015, 10:32:12 ) *
http://pastebin.com/rhqFHZ2n
IDE Helper.
Powodzenia w szukaniu.


No i mam

  1. public static function attempt($credentials = array(), $remember = false, $login = true){
  2. return \Illuminate\Auth\Guard::attempt($credentials, $remember, $login);
  3. }


ale co to za plik który mi wysłałeś nigdzie w plikach helper nie mogę znaleźć sad.gif
by_ikar
To może zerknij do dokumentacji i poczytaj czym są fasady: http://laravel.com/docs/5.1/facades przeczytał byś to szybciej, niż dostałbyś odpowiedź. Zawsze najpierw dokumentacja, dopiero potem pytaj się o co kolwiek. W przeciwnym wypadku będziesz z każdą jedną pierdołą, która już została opisana, przychodził i prosił o przepisanie tobie tego co jest w dokumentacji.
Randallmaster
Cytat(by_ikar @ 6.07.2015, 10:48:10 ) *
To może zerknij do dokumentacji i poczytaj czym są fasady: http://laravel.com/docs/5.1/facades przeczytał byś to szybciej, niż dostałbyś odpowiedź. Zawsze najpierw dokumentacja, dopiero potem pytaj się o co kolwiek. W przeciwnym wypadku będziesz z każdą jedną pierdołą, która już została opisana, przychodził i prosił o przepisanie tobie tego co jest w dokumentacji.


Dzięki
Pyton_000
To co Ci wysłałem to plik generowany przez paczkę https://github.com/barryvdh/laravel-ide-helper
Dzięki niemu masz wlaśnie dostęp z poziomu IDE do metod w Facade

Facade czyli to czego nie możesz ogarnąć to mapowanie Statyczne metod na inne obiekty.

Czyli
Kod
Auth::attempt

to tak na prawdę: metoda
Kod
\Illuminate\Auth\Guard::attempt


Dlaczego tak? Ano dla szybkości zapisu. Jak? TO już magia i musisz sam rozkminić jeśli chcesz pracować z Laravel.

I jak kolega wyżej napisał. Dokumentacja to Twoje pierwsze miejsce w które powinieneś zaglądać. Nie jest długa a pomaga sporo.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.