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:

<_?php
namespace 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:

<_?php
namespace 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:

<_?php
namespace 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:

<_?php
namespace 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 -

  1. Mi az a Laravel?
  2. laravel vs Ruby on Rails
  3. Laravel vs Codeigniter
  4. Laravel parancsok

Kategória: