Parem viis CRAR-operatsioonide jaoks Laraveli kontrolleri loomiseks
Laravel töötab MVC (Model-View-Controller) arhitektuurimustril. Kui kasutate rakendust Laraveli raamistikus, peate oma rakenduse jaoks looma mudeli, vaate ja kontrollerid.
Laravelis saab käsurea liidese kaudu luua kontrolleri ja mudeli. Laraveli käsitööline on käsurea liides, mis pakub mitmeid käske, mis aitavad meil rakendust üles ehitada. Me saame ja peaksime käsitsitöölise abil looma kontrolleri.
Looge Laraveli kontroller
Oletame, et töötate taustaga ja soovite lehtedel teha CRUD-toiminguid. See tähendab, et peate lehtede haldamiseks ehitama süsteemi, mis hõlmab lehtede loomist, hankimist, värskendamist ja kustutamist. Loomulikult peate selle ülesande jaoks looma kontrolleri.
Tavaliselt juhivad inimesed käsku php artisan make:controller PageController
. See käsk genereerib PageController.php
kataloogi app / Http / Controllers faili .
Märkus. Peate selle käsu käivitama projekti juurkataloogis käsurea liidese abil.
PageController.php
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
class PageController extends Controller
{
//
}
Selles loodud kontrolleris peate kirjutama meetodid ja vastavalt marsruudid määratlema. Iga meetodi jaoks peate kirjutama eraldi marsruudi.
Näiteks. lisame ühe meetodi index()
ja määrame selle marsruudi.
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
class PageController extends Controller
{
public function index() {
//do operations here
}
}
Selle index()
funktsiooni kutsumiseks marsruudifailis peaksime lisama alloleva koodi.
marsruudid / web.php
Route::get('pages', 'PageController@index');
Iga täiendava meetodi puhul kehtib sama protsess.
Sellel voolul pole midagi halba. Kuid see pole soovitatav viis. Laraveli populaarsuse taga on mitu põhjust. Üks põhjus on nende võimsad edasijõudnud käsitööliste käsud.
Parem viis Laraveli kontrolleri loomiseks
Laravelis ei pea me iga meetodit kirjutama ja määrama iga meetodi jaoks eraldi marsruudi. Käsitöölise käsu abil saame genereerida eelnevalt määratletud meetoditega kontrolleri. Ja lihtsalt ühe marsruudi kirjutades kutsub Laravel automaatselt sobivaid meetodeid.
Seda öeldes avage oma käsurea liides oma projekti juurkataloogis ja käivitage järgmine käsk. Pange tähele, seekord lisame käsule make: controller käsu –resource.
php artisan make:controller PageController --resource
Nüüd PageController.php
näeb loodud välja nagu allpool.
PageController.php
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
class PageController extends Controller
{
/**
* Display a listing of the resource.
*
* @return IlluminateHttpResponse
*/
public function index()
{
//
}
/**
* Show the form for creating a new resource.
*
* @return IlluminateHttpResponse
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param IlluminateHttpRequest $request
* @return IlluminateHttpResponse
*/
public function store(Request $request)
{
//
}
/**
* Display the specified resource.
*
* @param int $id
* @return IlluminateHttpResponse
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return IlluminateHttpResponse
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param IlluminateHttpRequest $request
* @param int $id
* @return IlluminateHttpResponse
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return IlluminateHttpResponse
*/
public function destroy($id)
{
//
}
}
Saime sellised meetodid nagu indekseerimine, loomine, salvestamine, näitamine, muutmine, värskendamine, automaatne hävitamine. Võite lugeda iga meetodi jaoks esitatud kommentaare, mis selgitavad iga meetodi toiminguid. Nüüd täpsustame selle marsruudi.
marsruudid / web.php
Route::resource('pages', 'PageController');
See leidlik marsruut loob erinevate toimingute tegemiseks mitu marsruuti. Nüüd toimingute üksikasjade saamiseks käivitage käsk php artisan route:list
. Lehtede marsruudi jaoks näete väljundit, nagu ekraanipildil näidatud.
See väljund annab teile aimu HTTP-meetodist, URL-ist ja sellest, milline meetod määratud URL-i kutsub.
Näiteks kui käitate URL-i YOUR_SITE_DOMAIN / pages GET-meetodiga, kutsub see kõne index()
PageControlleri meetodile.
Uue lehe loomiseks on URL-i sait YOUR_SITE_DOMAIN / pages / create. See kutsub üles create()
meetodile, kus peate uue lehe loomiseks vaate laadima.
Kui esitate vormi meetoditega = postitamine ja action = lehed, kutsub see store()
meetodit üles kutsuma .
Ja nii edasi.
See kõik on seotud CRAR-operatsioonide jaoks Laraveli kontrolleri loomisega. Palun jagage oma mõtteid allpool olevas kommentaaride jaotises.