Article View: pl.comp.lang.php
Article #232047Re: Laravel - jak to to działa?
From: Marek S
Date: Thu, 06 Dec 2018 21:43
Date: Thu, 06 Dec 2018 21:43
36 lines
2666 bytes
2666 bytes
W dniu 2018-12-05 o 21:41, Rafal Podsiadly pisze:
> @Marku czytałeś https://laravel.com/docs/5.7/facades ?
>
Tak, oczywiście. Napisałem, że poległem analizując realny kod. Dotarłem
do etapu kiedy fasada nie robi nic innego jak tylko zwraca string.
Bazując na przykładzie z dokumentacji jest to:
protected static function getFacadeAccessor() { return 'cache'; }
Ale string przecież nie wykona żadnej operacji cache'owania więc
funkcjonalność z Cache::get() z pewnością niczego tu nie wykona.
No to lecimy dalej. Ten string wędruje do Service Container'a. A co on
takiego robi? Zagląda do pokrótce tablicy (UserRepository) i wywołuje
find. Czyli znów tu kodu naszego Cache::get() nie znajdziemy.
Znów lećmy dalej. W tablicy models znajduje się wreszcie obiekt
reprezentujący wołaną metodę. Fajnie, ale tablica obiektów nie ma nic
wspólnego z kodem źródłowym klas tych obiektów. Więc znów jesteśmy w
czarnej d... Ale przynajmniej wiemy czego szukać.
Teraz trzeba zajrzeć od drugiej strony i znaleźć miejsce, w którym ta
tablica będzie wypełniana obiektami. Zapewne będzie trzeba rozpocząć
poszukiwania od index.php i schodzić coraz niżej.
W ten sposób cały wieczór będę szukał źródeł Cache::get albo Route::get
itd. Czytanie dokumentacji zero pomogło. To jest tylko ogólnikowe bla
bla bla. Do programowania wystarczy ale nie pozwoli na wgryzienie się w
źródło. Więc ponawiam pytanie z wątku otwierającego.
--
Pozdrawiam,
Marek
Technical Details
Message-ID:
<puc568$u7g$1@node1.news.atman.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mailReferences:
<ptsctv$cfj$1@node1.news.atman.pl> <1v0xvyvpzdfv7$.1rpu9f5pj0855.dlg@40tude.net> <pu1k56$dd4$1@node2.news.atman.pl> <h7gl5chedxpp.1jwtzx4lghnpe$.dlg@40tude.net> <pu6m4i$up$1@node2.news.atman.pl> <7367cb98-1e11-4ea9-9b5a-846c6259d56b@googlegroups.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail From: Marek S <precz@spamowi.com> Newsgroups: pl.comp.lang.php Subject: Re: Laravel - jak to to działa? Date: Thu, 6 Dec 2018 22:43:25 +0100 Organization: ATMAN - ATM S.A. Lines: 36 Message-ID: <puc568$u7g$1@node1.news.atman.pl> References: <ptsctv$cfj$1@node1.news.atman.pl> <1v0xvyvpzdfv7$.1rpu9f5pj0855.dlg@40tude.net> <pu1k56$dd4$1@node2.news.atman.pl> <h7gl5chedxpp.1jwtzx4lghnpe$.dlg@40tude.net> <pu6m4i$up$1@node2.news.atman.pl> <7367cb98-1e11-4ea9-9b5a-846c6259d56b@googlegroups.com> NNTP-Posting-Host: 89-70-94-204.dynamic.chello.pl Mime-Version: 1.0 X-Trace: node1.news.atman.pl 1544132616 30960 89.70.94.204 (6 Dec 2018 21:43:36 GMT) X-Complaints-To: usenet@atman.pl NNTP-Posting-Date: Thu, 6 Dec 2018 21:43:36 +0000 (UTC) User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.3.2 In-Reply-To: <7367cb98-1e11-4ea9-9b5a-846c6259d56b@googlegroups.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit