Sissejuhatus Laraveli kontrolleritesse

Kogu teie rakenduse saab luua lihtsalt faili Closures in route.php abil, see muutuks segaseks, kuid oleks teostatav. Mis siis saab, kui saate kontrolleritundide abil korraldada kogu oma protsessi? Vaatame kuidas. Kontrollerid on võimelised rühmi koondama ühes klassis, kogu sellega seotud päringute käsitlemise loogika. Kontrollerite talletamise eest vastutab kataloogirakendus / Http / Kontrollerid. MVC raamistikus tähistab „C” kontrollerit, mis suunab liiklust vaadete ja mudelite keskel. Selles teemas õpime tundma Laraveli kontrollereid.

Laraveli kontrollerite loetelu

Siin on allpool mainitud Laraveli kontrollerite loend

1. Põhikontrollerid

Allpool saate vaadata kontrolleri klassi põhinäidet. Võite siin märgata, et 'MyController' laiendab 'Controller'. Siin on kontroller põhiklass. Põhiklassi „Kontroller” pakub selliseid meetodeid nagu „vahetarkvara”, „väljasaatmine” ja „valideerimine”, mis teeb selle mugavaks. Võite kasutada vahetarkvara, et määrata see kontrolleri marsruudile või kontrolleri konstruktorisse.

<_?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)));
)
)

Marsruudi MyControllerisse saab määratleda järgmiselt:

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

Vahevara määramine marsruudifailidesse:

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

Kui marsruudi URI sobib konkreetse päringuga, siis viiakse klassi 'MyController' meetod 'show' käsule ja meetodile omistatakse ka marsruudil täpsustatud parameetrid.

Mõned ekstra kirsid teile:

  • Pole vaja mainida kontrolleri täielikku nimeruumi, kuna 'RouteServiceProvider' laadib automaatselt marsruudirühma, mille nimeruum sisaldab kõiki marsruudifaile. Peate lihtsalt määrama selle osa nimest, mis ilmub pärast App \ Http \ Controllers.
  • Kui soovite määratleda ühetoimelise kontrolleri, saate seda teha, kui asetate kontrollerile ühe meetodi '__invoke'.

2. Ressursi kontrollerid

Rakenduse loomisel nõuame CRUD-i toimingute tegemist (loomine, lugemine, värskendamine, kustutamine). Laraveli ressursi kontrollerite puhul tuleb lihtsalt kontroller luua ja saate puhata Laravelil. Laraveli ressursimarsruut eraldab CRUD-i toiminguteed kontrollerile ka ühe kodeerimisreaga. Kõigi meetodite jaoks saab marsruudilph.php registreerida ühe marsruudi.

Võtame näite, oletame teie rakenduse jaoks, et soovite luua kontrolleri, mis haldab kõiki sissetulevaid HTTP-päringuid salvestatud piltide suhtes. Seda tehakse Artisani käsu abil kiiresti. Vaatame Artisani käsku 'make: controller' kiiresti, et luua üks sarnane kontroller järgmiselt:

php artisan make:controller ImageController --resource

Kontroller genereeritakse ülaltoodud käsuga rakenduses / Http / Kontrollerid / ImageController.php. See kontroller koosneb meetodist, mis on pühendatud igale saadaolevale ressursitoimingule.

Nüüd saate kuulutada marsruudi mitmesuguste toimingute tegemiseks järgmiselt:

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

See marsruudideklaratsioon loob iseenesest palju marsruute, millega saab hakkama paljude toimingutega. Sellel kontrolleril on iga saadaoleva toimingu jaoks konkreetsed meetodid. See sisaldab ka märkmeid, mis annavad teile teavet käideldavate URI-de ja HTTP-verbide kohta.

Kui soovite korraga registreerida mitu ressursi kontrollerit, saate seda teha massiivi abil, nagu allpool näidatud:

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

Tegevuste tabel

TegusõnaURI / teeTegevusüritusMarsruudi nimi
POST/ pildidpoodimages.store
SAA/ pildidindeksimages.index
SAA/ pildid / looluuapilte.loo
SAA/ pildid / (pilt)showpildid.näita
PUT / PATCH/ pildid / (pilt)värskenduspildid.värskendus
SAA/ pildid / (pilt) / muudaredigeeriimages.edit
Kustuta/ pildid / (pilt)hävitamaimages.destroy

3. Kaudsed töötlejad

Nende kontrollerite abil saate iga toiminguga hakkama saada, lihtsalt ühe marsruudi määratledes. Kõigepealt peate marsruudi määratlema, kasutades marsruuti :: kontroller järgmiselt:

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

Siin edastatakse vastutavale töötlejale kaks argumenti.

  1. Aluse URI
  2. Kontrolleri klassinimi

Nüüd peate lihtsalt lisama MyControllerisse meetodeid, millele on lisatud HTTP verb.

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

Meetodid „indeks” reageerivad kasutajatele, st juur- / baas-URI-d haldab kontroller.

Mitme sõnaga toimingule pääseb juurde URI-s 'kriipsuga'. Vaadake näitena allpool kontrolleri toiminguid:

public function getAdminProfile() ()

See kontrolleri toiming MyControlleris vastab URI kasutajatele / administraatori profiilile.

4. Sõltuvuse süstimine ja kontrollerid

Sõltuvuste süstimine muudab teie veebirakenduste testimise ja hooldamise lihtsamaks.

1. Konstruktori süst

Laravel haldab klassisõltuvusi ja lahendab kõik kontrollerid. Võimalik, et teie kontroller vajab konstruktoris sõltuvusi, Laraveli abil saate tippida vihjeid ükskõik millisele neist sõltuvustest. Laraveli teenusekontroller lahendab kõik sõltuvused automaatselt ja süstib need kontrolleri eksemplari.

<_?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. Meetodi süstimine

Lisaks sõltuvuste süstimisele konstruktorisse saate neid ka oma kontrolleri meetoditesse tippida. Näiteks näiteks Illuminate \ Http \ Request saab kontrolleri meetodisse sisestada järgmiselt:

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

Laraveli kontrollerite omadused

Allpool on mõned hädaabi kontrolleri funktsioonid:

  • MVC tugi: Laravelit toetab MVC Architecture. See teeb arenduse kiireks, kuna üks kasutaja saab töötada loogikaga, teine ​​aga vaadetega. Mudeli puhul toetatakse mitut vaadet ilma dubleerimiseta, kuna äriloogika on esitlusloogikast lahutatud.
  • Autentimine: Laravelil on autentimiseks sisseehitatud süsteem, peate hoolitsema ainult muude aspektide eest, näiteks vaadete, mudelite ja kontrollerite konfigureerimise eest.
  • Turvalisus: turvalisus on peamine tegur, mida tuleb rakenduse väljatöötamisel arvestada. Laravel tagab turvalisuse oma sisseehitatud rakenduste turvalisusega.
  • Artisan: Artisan aitab korduvaid ülesandeid täita ilma, et arendajad peaksid neid käsitsi täitma. Neid saab kasutada andmebaasi struktuuri, koodi ja migratsiooni loomiseks, et muuta see hallatavaks.
  • Mallid: Laraveli uuendusliku ja võimsa mallimootori abil saavad arendajad luua dünaamilisi veebirakendusi.

Soovitatavad artiklid

See on juhend Laravel Controllers. Siin arutleme üsna paljude Laraveli kontrolleride kontseptsioonide üle, mis võimaldavad teil luua oma rakendusele omaenda kontrolleri, mis on samal ajal turvaline ja võimas. Lisateabe saamiseks võite vaadata ka järgmist artiklit -

  1. Mis on Laravel Framework?
  2. Laraveli käsud
  3. Mis on Laravel?
  4. Mis on Servlet?

Kategooria: