Uvod v krmilnik poti Laravel

Ti krmilniki vam omogočajo, da ustvarite svoje razrede krmilnikov z uporabo metod, ki se uporabljajo za obdelavo različnih zahtev. Veliko lažje bi bilo, če bi razumeli koncept regulatorja poti laravel s pomočjo zgleda. Šli bomo korak za korakom, da bomo dobro razumeli krmilnike usmerjanja. Torej, tukaj gremo s koraki:

Kako ustvariti krmilnik poti Laravel?

Tu je nekaj korakov za ustvarjanje krmilnih krmilnikov laravel, ki so razloženi spodaj:

1. korak: Prvi korak bi bil ustvariti krmilnik. Če niste seznanjeni z ustvarjanjem krmilnika, pojdite skozi spodnje točke ustvarjanja krmilnika, sicer se premaknite neposredno na korak 2 za krmilnike usmerjanja.

  • Za ustvarjanje regulatorja uporabite spodnji ukaz obrtnika.

Koda:

Php artisan make: Controller MyController

  • Izdelana bo datoteka MyController.php, katere privzeta koda je spodaj.

Koda:

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

2. korak: Zdaj morate to pot zapisati v datoteko web.php.

Koda:

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

Tu je prvi parameter URL, do katerega želite imeti dostop, in MyController je očitno naše ime regulatorja. "Prikaže", kot lahko vidite v datoteki MyController.php, je metoda. Torej, @show tukaj kaže, da bi bila metoda show () poklicana, ko smo zadeli URL '/ post'.

3. korak: Zdaj lahko dodate vrstice za kodiranje, kot je prikazano spodaj.

Koda:

<_?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. korak: Zdaj je čas, da zadete URL. Po vnosu URL-ja boste dobili določen izhod. Upajmo, da smo zajeli dovolj vpogled v krmilnike, da boste lahko zdaj dostopali do svojega krmilnika. Zdaj pa pojdimo naprej, kako lahko podatke prenesemo tudi v razred krmilnika. Spet bi bilo veliko lažje, če se naučimo posredovanja podatkov preko parametrov na naš krmilnik s pomočjo primera.

Prenos podatkov v krmilnik

1. Spodaj napišite pot v datoteko web.php:

Koda:

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

Edina razlika pri definiranju te poti je, da ta vrstica kode vsebuje tudi parameter 'id' z URL-jem.

2. Spremenite datoteko 'MyController.php', kot je prikazano spodaj.

Koda:

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

Tu je edina razlika v metodi show () ta, da smo jo spremenili tako, da smo v načinu show () podali parameter 'id'.

3. Ponovno poiščemo URL v našem brskalniku. Dobili boste izhod, odvisno od parametra.

Prostori imen

Tukaj je nekaj informacij o prostorih imen:

Medtem ko definirate način Route :: get () za naš razred krmilnikov, ni treba omenjati celotnega prostora imen za krmilnik, saj 'RouteServiceProvider' naloži skoraj vse datoteke poti v skupini poti, ki vsebuje imensko območje. Preprosto morate določiti tisti del imena, ki bo prišel po App / Http / Controllers.

Na primer, če je celotna pot razreda krmilnika App / Http / Controllers / User / UsersController, potem ni treba omenjati celotnega prostora imen. Pot lahko preprosto določite na naslednji način:

Koda:

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

Krmilnik z enim delom

Če želite definirati krmilnik z enim dejanjem, boste to lahko storili tako, da na krmilnik vstavimo eno samo metodo "__invoke". PHP ima nekaj čudovitih čarobnih funkcij, funkcija '__invoke' pa se uvršča na ta magični seznam. S pomočjo te čarobne funkcije '__invoke' lahko razred določite s samo eno funkcijo PHP '__invoke' znotraj njega in kadar koli bo predmet poklical, bo samodejno poklical metodo '__invoke', ne da bi imel tudi ročno imenuje se $ obj-> randomFunction ().

Zdaj se postavlja vprašanje, kje ga lahko uporabite? Pošteno povedano, naša psihologija postavlja to vprašanje vsakič, ko naletimo na kakšno novo funkcionalnost. Kot primer lahko to uporabimo pri izvajanju SRP (enotno načelo odgovornosti). Tako kot smo zgoraj naredili krmilnik z ukazom artisan, podobno kot php artisan: naredite kontroler MyController, bo kodiranje datoteke MyController videti tako, kot je prikazano spodaj:

Koda:

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

Dobro smo dodati vrstice kode za metodo __invoke () v razredu MyController. Tu je primer, kako bo izgledal razred po dodajanju kode.

Koda:

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

Zdaj je treba datoteko web.php spremeniti, saj je sama odgovorna za vsa dejanja. Vrstica kode bo izgledala nekako takole:

Koda:

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

Ta vrstica kode bo imela funkcijo '__invoke ()' razreda MyController. Od tu lahko sklepamo, da vam ni treba napisati funkcije @invoke, da bi dostopali do enostavnih krmilnikov.

Opomba: Če ne določite nobenega dejanja, tj. Ne napišete metode __invoke (), bo vrgel napačno napako dejanja poti, tj. UnexpectedValueExpression.

Vpogled v ustvarjanje poti Laravel

Vsaka pot v Laravelu je določena v datotekah poti. Te datoteke poti najdete v podimeniku poti. Teh datotek ni treba ročno nalagati, saj jih samodejno naloži Laravelov okvir. Datoteka poti vaše aplikacije se shrani v datoteko 'app / Http / route.php'. Splošna usmeritev za vsako zahtevo v Laravelu izgleda:

Koda:

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

Koda:

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

Mehanizem usmerjanja

Mehanizem usmerjanja lahko razumemo s tremi koraki, ki sledijo:

  • Najprej ustvarite korenski URL in ga zaženite.
  • Prepričajte se, da se vaš URL ujema z metodami v datoteki root.php, šele nato se bodo izvajale vse povezane funkcije.
  • Funkcija najprej prikliče predloge datotek in nato funkcijo view () pokliče z imenom datoteke v virih / pogledih /.

Zaključek

Upajmo, da smo doslej izvedeli kar nekaj konceptov Laravel Route Controller, ki vam bodo omogočili, da za svojo aplikacijo ustvarite svoj lasten usmerjevalni krmilnik Laravel, ki bo hkrati varen in močan.

Priporočeni članki

To je vodnik za Laravel Route Controller. Tukaj razpravljamo o prenosu podatkov na krmilnik, imena prostorov, enojni krmilnik in različne korake za ustvarjanje Laravela. Če želite izvedeti več, lahko preberete tudi druge naše predlagane članke -

  1. Kaj je zdravilo Laravel?
  2. laravel proti Ruby on Rails
  3. Laravel proti Codeigniterju
  4. Laravel ukazi