Controller di risorse Laravel

Controller di risorse Laravel
Un controller di risorse viene utilizzato in Laravel per eseguire facilmente le operazioni CRUD. Quando creerai un controller di risorse utilizzando il comando artisan dal terminale, creerà tutti i metodi necessari all'interno del controller relativi alle operazioni CRUD. Gestisce tutte le richieste HTTP per l'applicazione e richiede una singola riga di codice per rotte CRUD. Come è possibile creare un controller di risorse ed eseguire operazioni CRUD in Laravel sono mostrate in questo tutorial.

Prerequisito:

Avrai bisogno di una tabella nel database in cui il progetto Laravel è connesso. È possibile creare una tabella tramite comando migrare o manualmente. Ho usato il utenti Tabella in questo tutorial per eseguire l'operazione CRUD utilizzando il controller delle risorse. Il tavolo è vuoto ora. La struttura della tabella è mostrata di seguito.

Crea un controller di risorse:

Esegui il seguente comando dal terminale per creare il controller di risorse denominato UserController.

$ PHP Artisan Make: Controller UserController - -Resource

Se apri il controller da qualsiasi editor, vedrai che i seguenti codici sono già scritti nel controller. Sette metodi sono creati automaticamente all'interno del controller per eseguire le operazioni CRUD.

APPPACE NAME \ HTTP \ Controller;
Usa Illuminate \ http \ richiesta;
Class UserController estende il controller

/**
* Visualizza un elenco della risorsa.
*
* @return \ illuminate \ http \ risposta
*/
indice della funzione pubblica ()

//

/**
* Mostra il modulo per la creazione di una nuova risorsa.
*
* @return \ illuminate \ http \ risposta
*/
funzione pubblica crea ()

//

/**
* Memorizza una risorsa appena creata in archiviazione.
*
* @param \ illuminate \ http \ richiesta $ richiesta
* @return \ illuminate \ http \ risposta
*/
negozio di funzioni pubbliche (richiesta $ richiesta)

//

/**
* Visualizza la risorsa specificata.
*
* @param int $ id
* @return \ illuminate \ http \ risposta
*/
Public Function Show ($ ID)

//

/**
* Mostra il modulo per la modifica della risorsa specificata.
*
* @param int $ id
* @return \ illuminate \ http \ risposta
*/
Modifica della funzione pubblica ($ ID)

//

/**
* Aggiorna la risorsa specificata in memoria.
*
* @param \ illuminate \ http \ richiesta $ richiesta
* @param int $ id
* @return \ illuminate \ http \ risposta
*/
Aggiornamento della funzione pubblica (richiesta $ richiesta, $ ID)

//

/**
* Rimuovere la risorsa specificata dall'archiviazione.
*
* @param int $ id
* @return \ illuminate \ http \ risposta
*/
funzione pubblica distruggere ($ id)

//

Route delle risorse:

Aggiungi il seguente percorso per il file UserController Per creare percorsi di risorse in la rete.PHP file.

Route :: Resource ("Utenti", "UserController");

Ora, eseguire il seguente comando dal terminale per verificare l'elenco delle rotte corrente dal ragnatela.PHP file.

$ PHP Artisan Route: elenco

Le seguenti informazioni sul percorso vengono generate per l'utilizzo del metodo del percorso :: risorsa (). Vengono creati sette percorsi per chiamare sette metodi. Gli usi di questi percorsi sono spiegati più avanti nella parte successiva di questo tutorial.

Aggiungere le seguenti righe all'inizio del UserController.PHP File per importare il modello utente, il servizio hash per hashing della password e il servizio DB per le operazioni di database.

utilizzare app \ utente;
usare hash;
Usa db

Inserire il record:

Modificare il creare() metodo di UserController con il seguente codice. Qui, un oggetto del Utente Il modello viene creato per inserire i nuovi record. Dopo aver assegnato i valori obbligatori, il salva() La funzione è chiamata per inserire il nuovo record nel studenti tavolo.

funzione pubblica crea ()

$ user = nuovo utente;
$ user-> name = 'fahmida';
$ utente-> email = '[email protected] ';
$ utente-> password = hash :: make ('12345');
Tentativo
$ utente-> salva ();
Echo "Record è inserito";

catch (\ illuminate \ database \ queryException $ e)
echo "voce duplicata";

Il percorso per chiamare il creare() metodo di UserController È 'utenti/crea'. Esegui il seguente URL dal browser. Se il record viene inserito correttamente, verrà visualizzata la seguente uscita.

http: // localhost/laravelpro/public/utenti/create

Ora, se la tabella controlla dal database, otterrai il seguente output.

Visualizza tutti i record:

Modificare il indice() metodo di UserController con il seguente codice per recuperare tutti i record dal utenti tabella e visualizzare i valori di nome E e-mail.

indice della funzione pubblica ()

$ utenti = db :: select ('select * from Users');
foreach ($ utenti come $ utente)

echo "Nome: $ utente-> name";
eco "
Email: $ utente-> email ";

Il percorso per chiamare il indice() metodo di UserController È 'utenti'. Esegui il seguente URL dal browser.

http: // localhost/laravelpro/public/utenti

Apparirà il seguente output.

Seleziona record specifico:

Modificare il spettacolo() metodo di UserController con il seguente codice per recuperare un record dal utenti Tabella che contiene 1 nel id campo e visualizzare il valore del nome.

Public Function Show ($ ID)

$ user = db :: select ('select * da utenti dove id ='.$ id);
echo "Il nome dell'utente è". $ utente [0]-> Nome."
";

Il percorso per chiamare il spettacolo() metodo di UserController È 'utenti/id'. Esegui il seguente URL dal browser.

http: // localhost/laravelpro/public/utenti/1

Apparirà il seguente output.

Record di aggiornamento:

Due metodi sono definiti principalmente nel controller delle risorse per aggiornare un record di database. Questi sono modificare() E aggiornamento() dove i dati degli aggiornamenti del record utilizzano qualsiasi modulo modificato. Ma qui non viene utilizzato alcun modulo di modifica. Quindi, solo il modificare() il metodo viene utilizzato per aggiornare un record particolare del studenti tavolo. Il valore corrente di un determinato record viene stampato prima e dopo l'esecuzione della query di aggiornamento.

Modifica della funzione pubblica ($ ID)

$ user = db :: select ('select * da utenti dove id ='.$ id);
Echo "L'e -mail corrente dell'utente è". $ utente [0]-> email."
";
$ email = '[email protected] ';
$ user = db :: Select ("Upse utenti Imposta email = '$ email'WhereThe Email dell'utente dopo l'aggiornamento è". $ utente [0]-> email;

Il percorso per chiamare il modificare() metodo di UserController È 'utenti/id/modifica'. Esegui il seguente URL dal browser.

http: // localhost/laravelpro/public/utenti/1/modifica

Apparirà il seguente output.

Elimina il record:

Il metodo Destroy () è definito per eliminare qualsiasi record dalla tabella. Ma il percorso per l'eliminazione del record passa da un altro metodo. Qui, ho usato il spettacolo() Metodo per creare un collegamento ipertestuale per eliminare il record che viene aggiunto alla fine del metodo.

Public Function Show ($ ID)

$ user = db :: select ('select * da utenti dove id ='.$ id);
echo "Il nome dell'utente è". $ utente [0]-> Nome."
";
eco ".url ('/')."/utenti/elimina/".$ id."'> Elimina";

Aggiungi il seguente codice in distruggere() metodo per eliminare un record particolare.

funzione pubblica distruggere ($ id)

$ user = db :: select ('elimina dagli utenti dove id ='.$ id);
Echo "Il record è cancellato";

Aggiungi il percorso ragnatela.PHP file per chiamare il distruggere() metodo.

Route :: get ('/utenti/delete/id', 'usercontroller@distruggono');

Dopo aver fatto clic sul collegamento Elimina, verrà visualizzato il seguente output.

Conclusione:

L'uso del controller delle risorse e il concetto della risorsa del percorso sono spiegati in dettaglio in questo tutorial utilizzando un'operazione CRUD. Spero che aiuterà i nuovi utenti di Laravel a implementare facilmente le operazioni CRUD nel loro progetto.