Úvod do Laravel Route Controller

Tieto radiče vám umožňujú vytvárať triedy radičov pomocou metód, ktoré sa používajú na spracovanie rôznych požiadaviek. Bolo by oveľa jednoduchšie, keby sme pomocou príkladu porozumeli pojmu riadiaci systém štrku. Budeme postupovať krok za krokom, aby sme dobre porozumeli smerovacím radičom. Takže tu ideme s krokmi:

Ako vytvoriť Laravel Route Controller?

Tu je niekoľko krokov na vytvorenie radičov smerovania larvov, ktoré sú vysvetlené nižšie:

Krok 1: Prvým krokom by bolo vytvorenie ovládača. Ak nie ste oboznámení s vytvorením radiča, prejdite nižšie uvedenými bodmi vytvorenia radiča, inak prejdite priamo na krok 2 pre smerovacie radiče.

  • Na vytvorenie ovládača použite príkaz uvedený nižšie.

kód:

Php artisan make: Controller MyController

  • Vytvorí sa súbor MyController.php, ktorého predvolený kód je uvedený nižšie.

kód:

<_?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
class MyController extends Controller
(
public function show($id)
(
//
)
)

Krok 2: Teraz musíte do súboru web.php napísať túto trasu.

kód:

Route::get('/post', ' ');

Tu je prvým parametrom adresa URL, ku ktorej chcete získať prístup, a MyController je samozrejme naše meno radiča. „Zobraziť“, ako vidíte v súbore MyController.php, je touto metódou. @ @ Show teda znamená, že metóda show () by sa volala, keď narazíme na adresu URL / príspevok.

Krok 3: Teraz môžete pridať kódovacie riadky, ako je to znázornené nižšie.

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)
(
//
)
)

Krok 4: Teraz je čas zasiahnuť adresu URL. Po zadaní adresy URL získate určený výstup. Dúfajme, že sme pre vás získali dostatok informácií o kontrolóroch, aby ste teraz mali prístup k svojmu kontroléru. Poďme teraz ďalej, ako môžeme odovzdať údaje aj našej triede kontrolérov. Opäť by bolo oveľa jednoduchšie, keby sme sa pomocou príkladu naučili prenášať údaje cez parametre nášmu kontroléru.

Odovzdávanie údajov do radiča

1. Do súboru web.php napíšte túto trasu:

kód:

Route::get('/post/(id)', ' ');

Jediným rozdielom pri definovaní tejto trasy je, že tento riadok kódu obsahuje aj parameter „id“ s adresou URL.

2. Upravte súbor „MyController.php“, ako je to znázornené nižšie.

kód:

public function show($id)
(
return “ID is :”.$id;
)

Jediným rozdielom v metóde show () je to, že sme ju zmenili odovzdaním parametra 'id' v metóde show ().

3. Poďme znova zasiahnuť adresu URL v našom prehliadači. Dostanete výstup v závislosti od parametra.

menné priestory

Tu je informácia o menných priestoroch:

Pri definovaní metódy Route :: get () pre našu triedu ovládačov netreba spomenúť úplný menný priestor pre kontrolór, pretože program „RouteServiceProvider“ načíta takmer všetky vaše súbory trasy do skupiny trás, ktorá obsahuje menný priestor. Stačí zadať tú časť názvu, ktorá bude nasledovať po App / Http / Controllers.

Napríklad, ak je úplná cesta triedy radiča App / Http / Controllers / User / UsersController, nie je potrebné spomínať celý menný priestor. Trasu môžete jednoducho definovať takto:

kód:

Route::get('\user', 'User\ ');

Ovládač s jednou činnosťou

Ak chcete definovať jednočinný kontrolér, budete to môcť urobiť umiestnením jedinej metódy „__invoke“ do kontroléra. Hovorí sa, že PHP má niektoré úžasne magické funkcie a funkcia __invoke robí tento magický zoznam. Pomocou tejto magickej funkcie „__invoke“ môžete definovať triedu pomocou iba jednej funkcie PHP „__invoke“ v nej a kedykoľvek, keď sa objekt bude nazývať, bude to priamo vyvolávať metódu „__invoke“ bez toho, aby ste museli mať manuálne nazýva sa $ obj-> randomFunction ().

Teraz vyvstáva otázka, kde ju môžete použiť? Je spravodlivé, že našou psychológiou je položiť túto otázku vždy, keď sa stretneme s akoukoľvek novou funkciou. Ako príklad možno uviesť pri implementácii SRP (zásada jednotnej zodpovednosti). Ako sme vytvorili vyššie uvedený radič pomocou príkazu remeselníka, podobne pomocou príkazu php artisan: make controller MyController, kódovanie súboru MyController bude vyzerať takto:

kód:

<_?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
class MyController extends Controller
(
//
)

Do triedy MyController je vhodné pridať riadky kódu pre metódu __invoke (). Tu je príklad, ako bude trieda vyzerať po pridaní kódu.

kód:

<_?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
class MyController extends Controller
(
public function __invoke($id)
(
return “ID is :”.$id;
)
)

Teraz je potrebné upraviť súbor web.php, pretože je zodpovedný za všetky manipulácie s akciami. Riadok kódu bude vyzerať asi takto:

kód:

Route::get('/post/(id)', 'MyController');

Tento riadok kódu zasiahne funkciu '__invoke ()' našej triedy MyController. Z toho je možné vyvodiť, že na prístup k radičom s jednoduchou činnosťou nemusíte nutne písať funkciu @invoke.

Poznámka: V prípade, že nezadáte žiadnu akciu, tj nezadáte metódu __invoke (), vyvolá to chybu Neplatná trasa, tj UnexpectedValueExpression.

Štatistiky na vytvorenie trasy Laravel

Každá trasa v Laraveli je definovaná v súboroch trasy. Tieto súbory trás sa nachádzajú v podadresári trás. Nie je potrebné manuálne načítavať tieto súbory, pretože sa automaticky načítajú pomocou Laravelovho rámca. Súbor trasy vašej aplikácie sa uloží do súboru 'app / Http / route.php'. Všeobecné smerovanie každej žiadosti v Laraveli vyzerá takto:

kód:

Route::get ('/', anyFunction() (
return 'This is Index';
));

kód:

Route::post ('user/dashboard', anyFunction() (
return 'This is Dashboard';
));

Mechanizmus smerovania

Mechanizmus smerovania sa dá pochopiť tromi nasledujúcimi krokmi:

  • Najskôr vytvorte koreňovú adresu URL a spustite ju.
  • Uistite sa, že sa vaša adresa URL zhoduje s metódami v súbore root.php. Až potom budú vykonané všetky súvisiace funkcie.
  • Funkcia najskôr vyvolá súbory šablón a potom funkcia view () sa volá s názvom súboru v resources / views /.

záver

Dúfajme, že sme sa doteraz naučili reálny počet konceptov radiča trasy Laravel, ktoré vám umožnia vytvoriť si vlastný riadiaci smerovač Laravel pre vašu aplikáciu, ktorý bude zároveň bezpečný a výkonný.

Odporúčané články

Toto je sprievodca po Laravel Route Controller. Tu diskutujeme o údajoch odovzdávaných do radiča, menných priestorov, radičov s jednou akciou a rôznych krokov na vytvorenie Laravelu. Viac informácií nájdete aj v ďalších navrhovaných článkoch -

  1. Čo je Laravel?
  2. Laravel vs Ruby on Rails
  3. Laravel vs Codeigniter
  4. Laravelove príkazy

Kategórie: