Article View: pl.comp.lang.php
Article #232042Re: Laravel - jak to to działa?
From: Borys Pogoreło
Date: Sat, 01 Dec 2018 19:35
Date: Sat, 01 Dec 2018 19:35
40 lines
2205 bytes
2205 bytes
Dnia Fri, 30 Nov 2018 23:17:30 +0100, Marek S napisał(a):
> Mam kłopot z ogarnięciem frameworka. Mamy fasadę Request::get lub
> Request::post. Chciałbym dowiedzieć się jaki kod fizycznie się wykonuje
> w tym momencie. Wymiękłem w chwili gdy okazało się, że get i post to
> elementy tablicy - cholera wie gdzie inicjowanej. Czy ktoś z Was potrafi
> mi wyjaśnić, gdzie znajduje się kod kryjący się za fasadami? Pytam
> ogólnie - niekoniecznie odnośnie quasi metod get i post Request'a.
Fasada to tylko inny sposób dostępu do kontenera IoC. Czyli np. pisząc
DB::query() sięgasz do kontenera pod klucz zdefiniowany w pliku
Illuminate/Support/Facades/DB.php:
protected static function getFacadeAccessor()
{
return 'db';
}
co w efekcie jest równoważne:
app()->make('db')->query(...)
Zaś do GET/POST najprościej się dostać przez instancję obiektu klasy
Request automatycznie wstrzykiwaną przez podpowiadanie typów do metody
kontrolera obsługującego bieżącą akcję, czyli po prostu:
public function twojaAkcja(Request $request)
{
$zmiennaGet = $request->input('zmienna');
// ...
}
Oczywiście możesz też pisać Request::input() lub request()->input() czy po
prostu app()->make('request')->input() albo nawet
app()->make(\Illuminate\Http\Request::class)->input().
--
Borys Pogoreło
borys(#)leszno,edu,pl
Technical Details
Message-ID:
<1v0xvyvpzdfv7$.1rpu9f5pj0855.dlg@40tude.net>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.promontel.net.pl!not-for-mailReferences:
<ptsctv$cfj$1@node1.news.atman.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.promontel.net.pl!not-for-mail From: Borys Pogoreło <borys@pl.edu.leszno> Newsgroups: pl.comp.lang.php Subject: Re: Laravel - jak to to działa? Date: Sat, 1 Dec 2018 20:35:53 +0100 Organization: snafu Lines: 40 Message-ID: <1v0xvyvpzdfv7$.1rpu9f5pj0855.dlg@40tude.net> References: <ptsctv$cfj$1@node1.news.atman.pl> NNTP-Posting-Host: public-gprs185492.centertel.pl Mime-Version: 1.0 X-Trace: thunar.promontel.net.pl 1543692826 14707 46.134.63.213 (1 Dec 2018 19:33:46 GMT) X-Complaints-To: abuse@promontel.net.pl NNTP-Posting-Date: Sat, 1 Dec 2018 19:33:46 +0000 (UTC) User-Agent: 40tude_Dialog/2.0.14.1pl X-fnord: obey. Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit