...
✅ WEB ja WordPressi uudised, teemad, pistikprogrammid. Siin jagame näpunäiteid ja parimaid veebisaidi lahendusi.

Parem viis CRAR-operatsioonide jaoks Laraveli kontrolleri loomiseks

20

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.phpkataloogi 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.phpnä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.

seotud artiklid

See veebisait kasutab teie kasutuskogemuse parandamiseks küpsiseid. Eeldame, et olete sellega rahul, kuid saate soovi korral loobuda. Nõustu Loe rohkem