Parempi tapa luoda Laravel-ohjain CRUD-operaatioita varten
Laravel toimii MVC (Model-View-Controller) -arkkitehtuurilla. Jos käytät sovellusta Laravel-kehyksessä, sinun on luotava mallisi, näkymä, ohjaimet sovelluksellesi.
Laravelissa voidaan luoda ohjain ja malli komentoriviliittymän kautta. Laravel-käsityöläinen on komentoriviliittymä, joka tarjoaa useita komentoja, jotka auttavat meitä rakentamaan sovellusta. Voimme ja meidän pitäisi luoda ohjain käsityöläiskomennolla.
Luo Laravel-ohjain
Oletetaan, että työskentelet taustalla ja haluat suorittaa CRUD-operaatioita sivuilla. Tämä tarkoittaa, että sinun on rakennettava järjestelmä sivujen hallitsemiseksi, joka sisältää sivujen luomisen, hakemisen, päivittämisen ja poistamisen. Tietenkin tätä tehtävää varten sinun on luotava ohjain.
Normaalisti ihmiset suorittavat komennon php artisan make:controller PageController
. Tämä komento luo tiedoston PageController.php
hakemistoon app / Http / Controllers.
Huomaa: Sinun on suoritettava tämä komento projektin juurihakemistossa komentoriviliittymän avulla.
PageController.php
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
class PageController extends Controller
{
//
}
Tässä generoidussa ohjaimessa sinun on kirjoitettava menetelmiä ja määritettävä reitit vastaavasti. Jokaiselle menetelmälle sinun on kirjoitettava erillinen reitti.
Esimerkiksi. lisätään yksi menetelmä index()
ja määritetään sille reitti.
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
class PageController extends Controller
{
public function index() {
//do operations here
}
}
Jos haluat kutsua tätä index()
toimintoa reittitiedostoon, meidän on lisättävä alla oleva koodi.
reitit / web.php
Route::get('pages', 'PageController@index');
Sama prosessi koskee kutakin lisämenetelmää.
Tässä virtauksessa ei ole mitään vikaa. Mutta tätä ei suositella. Laravelin suosion takana on useita syitä. Yksi syy on heidän voimakkaat edistyneet käsityöläiskomennot.
Parempi tapa luoda Laravel-ohjain
Laravelissa meidän ei tarvitse kirjoittaa kutakin menetelmää ja määrittää erillinen reitti kullekin menetelmälle. Käsityöläiskomennolla voimme luoda ohjaimen ennalta määritetyillä menetelmillä. Ja vain kirjoittamalla yhden reitin, Laravel kutsuu automaattisesti sopivat menetelmät.
Tämän sanottuasi, avaa komentoriviliittymä projektisi juurihakemistossa ja suorita alla oleva komento. Muista, että tällä kertaa lisäämme –resurssin make: controller -komentoon.
php artisan make:controller PageController --resource
Nyt luotu PageController.php
näyttää kuten alla.
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)
{
//
}
}
Saimme menetelmät, kuten indeksointi, luominen, tallentaminen, näyttäminen, muokkaaminen, päivittäminen, tuhoaminen automaattisesti. Voit lukea kunkin menetelmän kommentit, joissa selitetään, mitä kukin menetelmä tekee. Määritetään nyt sen reitti.
reitit / web.php
Route::resource('pages', 'PageController');
Tämä kekseliäs reitti luo useita reittejä eri toimintojen käsittelemiseksi. Jos haluat saada lisätietoja toiminnoista, suorita komento php artisan route:list
. Sivureitille näet tuloksen kuvakaappauksen mukaisesti.
Tämä tulos antaa sinulle käsityksen HTTP-menetelmästä, URL-osoitteesta ja siitä, mikä menetelmä käyttää määritettyä URL-osoitetta.
Esimerkiksi, jos käytät URL-osoitetta YOUR_SITE_DOMAIN / sivusi GET-menetelmällä, se antaa kutsun index()
PageController -menetelmälle.
Jos haluat luoda uuden sivun, URL-osoite on YOUR_SITE_DOMAIN / sivut / luo. Se kutsuu create()
menetelmää, jossa sinun on ladattava näkymä uuden sivun luomista varten.
Kun lähetät lomakkeen, jossa on method = "post" ja action = "pages", se kutsuu store()
menetelmää.
Ja niin edelleen.
Kyse on Laravel-ohjaimen luomisesta CRUD-operaatioita varten. Jaa ajatuksesi alla olevassa kommenttiosassa.