Uvod u Laravel Route Controller

Ovi kontroleri omogućuju vam stvaranje klasa kontrolera pomoću metoda koje se koriste za obradu različitih zahtjeva. Bilo bi puno lakše kada bismo razumjeli koncept regulatora ruta laravel uz pomoć primjera. Ići ćemo korak po korak kako bismo stekli dobro razumijevanje kontrolora usmjeravanja. Dakle, evo koraka:

Kako stvoriti Laravel Route Controller?

Evo nekoliko koraka za stvaranje laravel regulatora usmjeravanja koji su objašnjeni u nastavku:

Korak 1: Prvi korak bi bio kreiranje kontrolera. Ako niste upoznati s stvaranjem kontrolera, prođite kroz donje točke stvaranja kontrolera u suprotnom pređite izravno na korak 2 za usmjeravanje kontrolera.

  • Za izradu regulatora upotrijebite donju naredbu obrtnika.

Kodirati:

Php artisan make: Controller MyController

  • Stvorit će se MyController.php datoteka čiji je zadani kôd naveden dolje.

Kodirati:

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

Korak 2: Sada ovo morate napisati ispod rute u datoteci web.php.

Kodirati:

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

Ovdje je prvi parametar URL kojem želite pristupiti, a MyController je očito naziv našeg kontrolera. Metoda je 'show' kao što možete vidjeti u MyController.php datoteci. Dakle, @show ovdje ukazuje da će se metoda show () nazvati kada nađemo URL '/ post'.

Korak 3: Sada možete dodati linije za kodiranje kao što je prikazano u nastavku.

Kodirati:

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

Korak 4: Sad je vrijeme da se pogodi URL. Nakon unosa URL-a dobit ćete specificirani izlaz. Nadamo se da smo objavili dovoljno uvida u kontrolere da ćete sada moći pristupiti svom kontroleru. Krenimo sada naprijed o tome kako također možemo proslijediti podatke našoj klasi kontrolera. Opet, bilo bi mnogo lakše ako uz pomoć primjera naučimo prosljeđivati ​​podatke kroz parametre u naš kontroler.

Prijenos podataka u kontroler

1. Zapišite ovu rutu ispod u web.php datoteku:

Kodirati:

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

Jedina razlika u definiranju ove rute je da ovaj redak koda sadrži i parametar 'id' s URL-om.

2. Izmijenite datoteku "MyController.php" kao što je prikazano u nastavku.

Kodirati:

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

Ovdje je jedina razlika u metodi show () ta što smo je izmijenili dodavanjem parametra 'id' u metodi show ().

3. Ponovno pogodimo URL u našem pregledniku. Dobivate izlaz ovisno o parametru.

imenskom prostoru

Evo informacija o prostorima s imenima:

Dok definirate metodu Route :: get () za našu klasu kontrolera, nema potrebe spominjati puni imenski prostor za kontroler budući da 'RouteServiceProvider' učitava gotovo sve vaše datoteke rute u grupi ruta koja u njemu sadrži prostor imena. Jednostavno trebate odrediti onaj dio imena koji će doći nakon aplikacije / Http / Kontrolera.

Na primjer, ako je puni put klase kontrolera App / Http / Controllers / User / UsersController, tada ne treba spominjati puni imenski prostor. Rutu možete jednostavno definirati na sljedeći način:

Kodirati:

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

Upravljač s jednim djelovanjem

Ako želite definirati single-action kontroler, to ćete moći učiniti stavljanjem jedinstvene metode '__invoke' na svoj kontroler. Kaže se da PHP ima zadivljujuće čarobne funkcije, a funkcija "__invoke" čini to čarobnim popisom. Pomoću ove čarobne funkcije '__invoke', možete definirati klasu koristeći samo jednu PHP funkciju '__invoke' unutar nje, a u bilo kojem trenutku kada će se objekt nazvati on će zauzvrat izravno nazvati metodu '__invoke', bez čak i ručno naziva $ obj-> randomFunction ().

Sada se postavlja pitanje, gdje ga možete koristiti? Pošteno, naša je psihologija postavljati ovo pitanje svaki put kada naiđemo na bilo koju novu funkcionalnost. Kao primjer, ovo se može koristiti tijekom primjene SRP-a (Jedinstveni princip odgovornosti). Kao što smo gore napravili kontroler koristeći naredbu artisan, slično koristeći php artisan: napravite kontroler MyController, kodiranje datoteke MyController izgledat će kao što je prikazano u nastavku:

Kodirati:

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

Dobro je dodati retke koda za metodu __invoke () u klasi MyController. Evo primjera kako će izgledati klasa nakon dodavanja koda.

Kodirati:

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

Sada je datoteku web.php potrebno izmijeniti jer je ona odgovorna za sve postupke. Redak koda izgledat će otprilike ovako:

Kodirati:

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

Ovaj redak koda zadat će funkciju '__invoke ()' naše klase MyController. Odavde se može zaključiti da vam nije potrebno pisati @invoke funkciju da biste pristupili kontrolerima s jednom radnjom.

Napomena: U slučaju da ne odredite nijednu radnju, tj. Da ne napišete metodu __invoke (), to će baciti pogrešku Akcija neispravne rute, tj. UnexpectedValueExpression.

Uvidi u kreiranje Laravel ruta

Svaka ruta u Laravelu definirana je u datotekama rute. Te datoteke ruta nalaze se u poddirektoriju ruta. Nema potrebe ručno učitavati te datoteke jer se automatski učitavaju u Laravelov okvir. Datoteka rute vaše aplikacije pohranjuje se u datoteku 'app / Http / route.php'. Općenito usmjeravanje za bilo koji zahtjev u Laravelu izgleda ovako:

Kodirati:

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

Kodirati:

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

Mehanizam usmjeravanja

Mehanizam usmjeravanja može se razumjeti pomoću tri koraka koja slijede:

  • Prvo stvorite korijenski URL i pokrenite ga.
  • Provjerite podudara li vaš URL s metodama u datoteci root.php, tek tada će se izvršiti sve povezane funkcije.
  • Funkcija prvo poziva datoteke predložaka, a zatim se prikaz funkcije () poziva u nazivu datoteka u resursima / pogledima /.

Zaključak

Nadamo se da smo do sada naučili popriličan broj koncepata Laravel Route Controller koji će vam omogućiti da stvorite svoj vlastiti Laravel upravljački program za usmjeravanje za vašu aplikaciju, koji će istovremeno biti siguran i moćan.

Preporučeni članci

Ovo je vodič za Laravel Route Controller. Ovdje smo raspravljali o podacima koji prolaze u kontroler, imenima, jednostrukom akciji kontroleru i raznim koracima za stvaranje Laravela. Možete i proći naše druge predložene članke da biste saznali više -

  1. Što je Laravel?
  2. laravel vs Ruby on Rails
  3. Laravel vs Codeigniter
  4. Laravelove naredbe

Kategorija: