...
✅ Notizie, temi, plugin WEB e WordPress. Qui condividiamo suggerimenti e le migliori soluzioni per siti web.

Modo migliore per creare controller Laravel per operazioni CRUD

128

Laravel funziona sul modello architettonico MVC (Model-View-Controller). Se stai eseguendo un’applicazione sul framework Laravel, devi creare modello, vista, controller per la tua applicazione.

In Laravel, è possibile creare un controller e un modello tramite l’interfaccia della riga di comando. Laravel craft è l’interfaccia a riga di comando che fornisce una serie di comandi che ci aiutano a costruire l’applicazione. Possiamo e dobbiamo creare un Controller usando il comando artigianale.

Crea un controller Laravel

Diciamo che stai lavorando sul back-end e vuoi eseguire operazioni CRUD sulle pagine. Ciò significa che è necessario creare un sistema per gestire le pagine che includa la creazione, il recupero, l’aggiornamento e l’eliminazione delle pagine. Naturalmente, per questa attività, è necessario creare un controller.

Normalmente, le persone eseguono il comando php artisan make:controller PageController. Questo comando genera un file PageController.phpnella directory app/Http/Controllers.

Nota: è necessario eseguire questo comando nella directory principale di un progetto utilizzando l’interfaccia della riga di comando.

PageController.php

<?php
 
namespace AppHttpControllers;
 
use IlluminateHttpRequest;
 
class PageController extends Controller
{
    //
}

In questo controller generato, è necessario scrivere metodi e definire le route di conseguenza. Per ogni metodo, devi scrivere un percorso separato.

Per esempio. aggiungiamo un metodo index()e definiamo un percorso per esso.

<?php
 
namespace AppHttpControllers;
 
use IlluminateHttpRequest;
 
class PageController extends Controller
{
    public function index() {
        //do operations here
    }
}

Per chiamare questa index()funzione nel file di route dovremmo aggiungere il codice seguente.

route/web.php

Route::get('pages', 'PageController@index');

Lo stesso processo si applicherà per ogni metodo aggiuntivo.

Non c’è niente di sbagliato in questo flusso. Ma questo non è un modo consigliato. Dietro la popolarità di Laravel, ci sono diverse ragioni. Uno dei motivi sono i loro potenti comandi artigianali avanzati.

Modo migliore per creare controller Laravel

In Laravel, non abbiamo bisogno di scrivere ogni metodo e definire un percorso separato per ogni metodo. Utilizzando il comando craft possiamo generare un controller con metodi predefiniti. E semplicemente scrivendo un singolo percorso, Laravel chiama automaticamente i metodi appropriati.

Detto questo, apri l’interfaccia della riga di comando nella directory principale del tuo progetto ed esegui il comando seguente. Tieni presente che questa volta stiamo aggiungendo –resource al nostro comando make:controller.

php artisan make:controller PageController --resource

Ora il generato PageController.phpappare come di seguito.

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)
    {
        //
    }
}

Abbiamo i metodi come indicizzare, creare, archiviare, mostrare, modificare, aggiornare, distruggere automaticamente. Puoi leggere i commenti forniti per ciascun metodo che spiegano cosa fa ciascun metodo. Ora specifichiamo il percorso per esso.

route/web.php

Route::resource('pages', 'PageController');

Questo percorso pieno di risorse creerà più percorsi per gestire diverse azioni. Ora, per ottenere i dettagli sulle azioni, esegui il comando php artisan route:list. Per il percorso delle pagine, vedrai l’output come mostrato nello screenshot.

Questo output ti dà un’idea del metodo HTTP, dell’URL e del metodo che chiamerà l’URL specificato.

Ad esempio, se stai eseguendo un URL YOUR_SITE_DOMAIN/pages con il metodo GET allora darà una chiamata al index()metodo di un PageController.

Se vuoi creare una nuova pagina, l’URL sarà TUO_SITO_DOMINIO/pagine/crea. Dà una chiamata al create()metodo in cui è necessario caricare una vista per creare una nuova pagina.

Quando invii un modulo con method="post" e action="pages", viene chiamato il store()metodo.

E così via.

Si tratta di creare un controller Laravel per operazioni CRUD. Per favore condividi i tuoi pensieri nella sezione commenti qui sotto.

articoli Correlati

Fonte di registrazione: artisansweb.net

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More