Uvod v regulatorje Laravel

Celotno aplikacijo je mogoče ustvariti samo z uporabo zapore v datoteki route.php, postala bi zmedena, vendar bo izvedljiva. Kaj pa, če lahko celoten postopek organizirate s pomočjo razredov Controller? Poglejmo, kako. Krmilniki so sposobni združiti znotraj enega razreda vse povezane logike obravnave zahtev. Aplikacija Directory / Http / Controllers je odgovorna za shranjevanje regulatorjev. V okviru MVC 'C' pomeni Controller, ki deluje kot usmerjanje prometa med pogledi in modeli. V tej temi bomo spoznali Laravel krmilnike.

Seznam regulatorjev Laravel

Spodaj je naveden seznam regulatorjev Laravel

1. Osnovni krmilniki

Spodaj si lahko ogledate osnovni primer razreda regulatorja. Tu lahko opazite, da 'MyController' razširja 'Controller'. Tu je "Controller" osnovni razred. Osnovni razred "Controller" ponuja metode, kot so "vmesna programska oprema", "dispečiranje" in "preverjanje veljavnosti", zaradi česar je priročno. Vmesno programsko opremo lahko uporabite za dodelitev poti krmilnika ali v konstruktorju regulatorja.

<_?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use App\User;
class MyController extends Controller
(
/**
* Show profile
*
*/
public function show($id)
(
return view('user.profile', ('user' => User::foundOrLost($id)));
)
)

Pot do MyControllerja lahko definiramo tako:

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

Dodelitev vmesne programske opreme v datoteke z usmeritvami:

Route::get('profile', ' ')->middleware('auth');

Ko se URI poti ujema z določeno zahtevo, potem se metoda "pokaže" v razredu "MyController" in se metodi dodelijo tudi parametri, določeni v ruti.

Nekaj ​​dodatnih češenj za vas:

  • Ni treba omenjati celotnega imenskega prostora za krmilnik, saj se "RouteServiceProvider" samodejno naloži v skupino poti, ki vsebuje imensko območje, vse datoteke poti. Preprosto morate določiti tisti del imena, ki se bo pojavil po App \ Http \ Controllers.
  • Če želite definirati krmilnik z enim dejanjem, boste to lahko storili tako, da na krmilnik vstavimo eno samo metodo "__invoke".

2. Nadzorni viri

Med ustvarjanjem aplikacije zahtevamo izvajanje CRUD (Ustvari, preberi, posodobi, izbriši) operacije. Pri regulatorjih virov Laravel je treba samo ustvariti krmilnik in na Laravelu lahko pustite počitek. Pot virov Laravel bo CRUD-ove operacijske poti dodelila krmilniku, in sicer le z eno vrstico kodiranja. V datoteko route.php se lahko za vse metode registrira ena pot.

Vzemimo primer, predpostavimo, da za vašo aplikacijo želite narediti krmilnik, ki obravnava vse dohodne zahteve HTTP glede na shranjene "slike". To bo hitro izvedeno s pomočjo poveljstva Artisan. Poglejmo Artisan ukaz "naredi: kontroler" hitro, da bi ustvaril en podoben krmilnik, kot sledi:

php artisan make:controller ImageController --resource

Z zgornjim ukazom se v aplikaciji / Http / Krmilniki / ImageController.php ustvari krmilnik. Ta krmilnik bo sestavljen iz metode, namenjene vsaki razpoložljivi operaciji virov.

Zdaj lahko razglasite pot za ravnanje z različnimi dejanji, kot je ta:

Route::resource('images', 'ImageController');

Ta izjava o poti ustvari veliko poti, ki lahko prenesejo številne ukrepe. Ta krmilnik bo imel posebne metode za vsako razpoložljivo dejanje. Vključene bodo tudi opombe, ki vas bodo seznanile z URI-ji in glagoli HTTP, s katerimi se ravna.

Če želite naenkrat registrirati več regulatorjev virov, lahko to storite s pomočjo matrike, kot je prikazano spodaj:

Route::resources((
'images' => 'ImageController',
'posts' => 'PostController'
));

Tabela ukrepov

GlagolURI / PotAkcijski dogodekIme poti
POŠT/ sliketrgovinaslike.store
DOBI/ slikekazaloimages.index
DOBI/ slike / ustvariustvaritiimages.create
DOBI/ slike / (image)kažejoimages.show
PUT / PATCH/ slike / (image)nadgradnjaslike.posodobiti
DOBI/ slike / (image) / urediUrediimages.edit
DELETE/ slike / (image)uničitiimages.destroy

3. Neizmerni krmilniki

S pomočjo teh krmilnikov lahko vsako dejanje obravnavate le tako, da določite eno pot. Pot morate najprej določiti s krmilnikom Route ::, kot je ta:

Route::controller('users', 'MyController');

Tu sta krmilniku predana dva argumenta.

  1. Osnovni URI
  2. Ime razreda regulatorja

Zdaj morate dodati metode "MyController" z glagolom HTTP nanje.

class MyController extends Controller (
public function getIndex()
(
//
)
public function anyLogin()
(
//
)
public function postProfile()
(
//
)
)

Metode "indeks" se bodo odzvale na "uporabnike", ki je korenski / osnovni URI, ki ga upravlja Controller.

Do dejanja z več besedami je mogoče dostopati z uporabo "pomišljaja" v URI-ju. Glej spodnji postopek krmilnika kot primer:

public function getAdminProfile() ()

To dejanje krmilnika v MyController se bo odzvalo na URI 'uporabnike / skrbniški profil'.

4. Odvisnost vbrizgavanje in krmilniki

Injection Dependitions vam olajša testiranje in vzdrževanje spletnih aplikacij.

1. vbrizgavanje konstruktorja

Laravel upravlja odvisnosti razreda in razreši vse krmilnike. Vaš krmilnik morda potrebuje odvisnosti konstruktorja, pri Laravelu lahko natipkate skoraj katero koli od teh odvisnosti. Krmilnik storitve Laravel bo samodejno razrešil vse odvisnosti in jih vstavil v primer krmilnika.

<_?php
namespace App\Http\Controllers;
use App\Repositories\UserRepository;
class MyController extends Controller
(
/**
* The user repository instance.
*/
protected $users;
/**
* Create a new controller instance.
*
* @param UserRepository $users
* @return void
*/
public function __construct(UserRepository $users)
(
$this->users = $users;
)
)

2. Metoda injekcije

Poleg vbrizgavanja odvisnosti v konstruktor jih lahko vtipkate tudi na načine vašega krmilnika. Na primer, lahko Illuminate \ Http \ Zahteva vstavite v metodo krmilnika na naslednji način:

<_?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class MyController extends Controller
(
/**
* Store a new user.
*
* @param Request $request
* @return Response
*/
public function store(Request $request)
(
$name = $request->name;
//
)
)

Značilnosti regulatorjev Laravel

Spodaj je nekaj funkcij krmilnika laravel:

  • Podpora za MVC: Laravel podpira MVC Architecture. Razvoj je hiter, saj lahko en uporabnik deluje na logiki, drugi pa na pogled. Za model je podprto več pogledov brez podvajanja, saj je poslovna logika ločena od predstavitvene logike.
  • Preverjanje pristnosti: Laravel ima vgrajen sistem za preverjanje pristnosti, skrbeti morate le za druge vidike, kot so konfiguriranje pogledov, modelov in krmilnikov.
  • Varnost: Varnost je najpomembnejši dejavnik pri razvoju aplikacije. Laravel zagotavlja varnost s svojo vgrajeno varnostjo aplikacije.
  • Artisan: Artisan pomaga pri ponavljajočih se opravilih, ne da bi jih morali ročno izvajati razvijalci. Te se lahko uporabijo za ustvarjanje strukture baze podatkov, kode, selitve, tako da postanejo obvladljive.
  • Predloge: Z inovativnim in zmogljivim mehanizmom za predloge Laravel lahko razvijalci ustvarijo dinamične spletne aplikacije.

Priporočeni članki

To je vodnik za krmilnike Laravel. Tukaj razpravljamo o velikem številu konceptov regulatorjev Laravel, ki vam bodo omogočili, da ustvarite svoj lasten krmilnik za vašo aplikacijo, ki bo hkrati varen in močan. Če želite izvedeti več, si oglejte tudi naslednji članek -

  1. Kaj je Laravel Framework?
  2. Laravel ukazi
  3. Kaj je zdravilo Laravel?
  4. Kaj je zdravilo Servlet?