Bevezetés a Laravel Route Controller-be
Ezek a vezérlők lehetővé teszik a vezérlőosztályok létrehozását olyan módszerekkel, amelyeket a különféle kérések kezelésére használnak. Sokkal könnyebb lenne, ha egy példa segítségével megértjük a Laravel útvonalvezérlő fogalmát. Lépésről lépésre haladunk annak érdekében, hogy jobban megértsük az útvonalvezérlőket. Tehát itt járunk a lépésekkel:
Hogyan lehet létrehozni a Laravel útvonalvezérlőt?
Az alábbiakban bemutatjuk néhány lépést a szélsőséges útválasztó vezérlők létrehozásához:
1. lépés: A legelső lépés egy vezérlő létrehozása. Ha még nem ismeri a vezérlő létrehozását, akkor lépjen át a vezérlő létrehozásának alábbi pontjain, egyébként lépjen közvetlenül a 2. lépéshez az Útválasztó vezérlők számára.
- Az alábbi kézműves parancs segítségével hozza létre a vezérlőt.
Kód:
Php artisan make: Controller MyController
- Létrejön a MyController.php fájl, amelynek alapértelmezett kódja az alábbiak szerint működik.
Kód:
<_?phpnamespace App\Http\Controllers;
use App\Http\Controllers\Controller;
class MyController extends Controller
(
public function show($id)
(
//
)
)
2. lépés: Most meg kell írnod ezt az útvonalat a web.php fájlba.
Kód:
Route::get('/post', ' ');
Itt az első paraméter az URL, amelyhez hozzáférni kíván, és a MyController nyilvánvalóan a vezérlőnév. A 'show', amint azt a MyController.php fájlban láthatja, a módszer. Tehát a @show itt azt jelzi, hogy a show () metódust akkor hívják meg, ha a '/ post' URL-re kattintunk.
3. lépés: Most hozzáadhat kódoló sorokat az alább látható módon.
Kód:
<_?phpnamespace App\Http\Controllers;
use App\Http\Controllers\Controller;
class MyController extends Controller
(
/**
*Display resource
*
*/
public function show($id)
(
//
)
/**
*Display resource listing
*
*/
public function index()
(
//
)
/**
*Editing resource
*
*/
public function edit($id)
(
//
)
)
4. lépés: Most itt az ideje, hogy elérje az URL-t. Meghatározott kimenetet kap az URL megadása után. Remélhetőleg elegendő betekintést kaptunk a vezérlőkbe, hogy most hozzáférhessen a vezérlőhöz. Haladjunk tovább azzal, hogyan továbbíthatjuk az adatokat a vezérlőosztályunknak. Ismét sokkal könnyebb lenne, ha egy példa segítségével megtanulnánk az adatokat paramétereken keresztül átadni vezérlőnknek.
Adat átadása a vezérlőnek
1. Írja az alábbi útvonalat a web.php fájlba:
Kód:
Route::get('/post/(id)', ' ');
Az útvonal meghatározása során az egyetlen különbség, hogy ez a kódsor az „id” paramétert is tartalmazza az URL-címmel.
2. Módosítsa a 'MyController.php' fájlt az alább látható módon.
Kód:
public function show($id)
(
return “ID is :”.$id;
)
Itt az egyetlen különbség a show () módszerben az, hogy módosítottuk az 'id' paraméter átadásával a show () metódusban.
3. Ismét nyomja meg az URL-t böngészőnkben. A paramétertől függően kap eredményt.
névterek
Itt található egy rész a névterekről:
A Route :: get () módszer meghatározásakor a vezérlőosztály számára nem kell megemlíteni a vezérlő teljes névterét, mivel a 'RouteServiceProvider' szinte az összes útvonalfájlt egy útvonalcsoportba tölti be, amelyben névtér található. Egyszerűen meg kell határoznia a név azon részét, amely az App / Http / Controllers után következik.
Például, ha a vezérlőosztály teljes elérési útja az App / Http / Vezérlők / Felhasználó / Felhasználói vezérlő, akkor nem kell megemlíteni a teljes névteret. Az útvonalat egyszerűen meghatározhatja a következők szerint:
Kód:
Route::get('\user', 'User\ ');
Egyetlen akcióvezérlő
Ha meg akarja határozni az egyszeres működésű vezérlőt, akkor ezt megteheti, ha egyetlen „__invoke” módszert helyez a vezérlőre. Azt mondják, hogy a PHP hihetetlenül varázslatos funkciókkal rendelkezik, és az '__invoke' funkció teszi ezt a varázslistát. Ennek a varázslatos '__invoke' függvénynek köszönhetően az osztály definiálható csak egy, az '__invoke' PHP függvény segítségével, és bármikor, amikor az objektumot meghívják, ez közvetlenül hívja a '__invoke' metódust anélkül, hogy manuálisan kellene volna. neve $ obj-> randomFunction ().
Felmerül a kérdés, hol lehet használni? Elég tisztességes, a pszichológiánk szerint ezt a kérdést kell feltennünk minden alkalommal, amikor bármilyen új funkcióval szembesülünk. Példaként ez felhasználható az SRP (egységes felelősség elve) végrehajtása során. Mint az előzőekben a kézműves parancs segítségével készítettünk egy vezérlőt, hasonlóan a php artisan: make controller MyController parancshoz, a MyController fájl kódolása az alábbiak szerint néz ki:
Kód:
<_?phpnamespace App\Http\Controllers;
use App\Http\Controllers\Controller;
class MyController extends Controller
(
//
)
Jó, ha hozzáadunk kódsorokat az __invoke () módszerhez a MyController osztályban. Íme egy példa arra, hogy hogyan néz ki az osztály a kód hozzáadása után.
Kód:
<_?phpnamespace App\Http\Controllers;
use App\Http\Controllers\Controller;
class MyController extends Controller
(
public function __invoke($id)
(
return “ID is :”.$id;
)
)
Most módosítani kell a web.php fájlt, mivel az kizárólag az összes művelet kezeléséért felel. A kódsor a következőképpen néz ki:
Kód:
Route::get('/post/(id)', 'MyController');
Ez a kódsor a MyController osztályunk '__invoke ()' funkcióját fogja elérni. Innentől arra lehet következtetni, hogy nem kell feltétlenül írnia @invoke függvényt az egyműveleti vezérlők eléréséhez.
Megjegyzés: Ha nem határoz meg semmilyen műveletet, azaz nem írja a __invoke () metódust, akkor érvénytelen útvonal-művelet hibát dob, azaz UnexpectedValueExpression-t.
Betekintés a Laravel útvonalak készítéséhez
A Laravelben minden útvonalat az útvonalfájlok definiálnak. Ezek az útvonalfájlok az útvonalak alkönyvtárában találhatók. Nem kell manuálisan betöltenie ezeket a fájlokat, mivel automatikusan betöltődnek a Laravel keretrendszere. Az alkalmazás útvonalfájlját az 'app / Http / route.php' fájl tárolja. Bármely kérés általános útválasztása Laravelben így néz ki:
Kód:
Route::get ('/', anyFunction() (
return 'This is Index';
));
Kód:
Route::post ('user/dashboard', anyFunction() (
return 'This is Dashboard';
));
Az útvonal mechanizmusa
Az útválasztás mechanizmusát három következő lépéssel lehet megérteni:
- Először hozzon létre egy gyökér URL-t és futtassa azt.
- Győződjön meg arról, hogy URL-je megegyezik a root.php fájlban szereplő módszerekkel, csak akkor kerül végrehajtásra az összes kapcsolódó funkció.
- A függvény először meghívja a sablonfájlokat, majd a function view () fájlnévvel hívja meg az erőforrásokat / nézeteket / nézetet.
Következtetés
Remélhetőleg eddig megtanultunk rengeteg Laravel Route Controller koncepciót, amelyek lehetővé teszik, hogy elkészítse saját alkalmazásának saját Laravel routing vezérlőjét, amely ugyanakkor biztonságos és hatékony.
Ajánlott cikkek
Ez egy útmutató a Laravel Route Controller-hez. Itt tárgyaljuk a vezérlőhöz továbbított adatokat, a névtereket, az egy művelet vezérlőt és a Laravel létrehozásának különböző lépéseit. A további javasolt cikkeken keresztül további információkat is megtudhat -
- Mi az a Laravel?
- laravel vs Ruby on Rails
- Laravel vs Codeigniter
- Laravel parancsok