laravel

Laravel ressurskontrollere

Laravel ressurskontrollere
En ressurskontroller brukes i Laravel til å utføre CRUD-operasjoner enkelt. Når du vil lage en ressurskontroller ved hjelp av håndverkskommando fra terminalen, vil den opprette alle nødvendige metoder inne i kontrolleren relatert til CRUD-operasjoner. Den håndterer alle HTTP-forespørsler for applikasjonen og krever en enkelt linje med kode for CRUD-ruter. Hvordan du kan opprette en ressurskontroller og utføre CRUD-operasjoner i Laravel, vises i denne veiledningen.

Forutsetning:

Du vil trenge en tabell i databasen der Laravel-prosjektet er koblet. Du kan opprette en tabell ved å overføre kommandoen eller manuelt. Jeg har brukt brukere tabellen i denne veiledningen for å utføre CRUD-operasjonen ved hjelp av ressurskontrolleren. Bordet er tomt nå. Tabellens struktur er vist nedenfor.

Opprett en ressurskontroller:

Kjør følgende kommando fra terminalen for å opprette ressurskontrolleren UserController.

$ php kunsthåndverk: kontroller UserController - ressurs

Hvis du åpner kontrolleren fra en hvilken som helst redaktør, vil du se at følgende koder allerede er skrevet i kontrolleren. Syv metoder blir opprettet inne i kontrolleren automatisk for å utføre CRUD-operasjoner.

navneområde App \ Http \ Controllers;
bruk Illuminate \ Http \ Request;
klasse UserController utvider Controller

/ **
* Vis en liste over ressursen.
*
* @return \ Illuminate \ Http \ Response
* /
offentlig funksjonsindeks ()

//

/ **
* Vis skjemaet for å opprette en ny ressurs.
*
* @return \ Illuminate \ Http \ Response
* /
offentlig funksjon lage ()

//

/ **
* Lagre en nyopprettet ressurs i lagring.
*
* @param \ Illuminate \ Http \ Be om $ forespørsel
* @return \ Illuminate \ Http \ Response
* /
offentlig funksjonsbutikk (Be om $ forespørsel)

//

/ **
* Vis den angitte ressursen.
*
* @param int $ id
* @return \ Illuminate \ Http \ Response
* /
offentlig funksjonsvisning ($ id)

//

/ **
* Vis skjemaet for redigering av den angitte ressursen.
*
* @param int $ id
* @return \ Illuminate \ Http \ Response
* /
offentlig funksjonsredigering ($ id)

//

/ **
* Oppdater den angitte ressursen i lagring.
*
* @param \ Illuminate \ Http \ Be om $ forespørsel
* @param int $ id
* @return \ Illuminate \ Http \ Response
* /
offentlig funksjonsoppdatering (Be om $ forespørsel, $ id)

//

/ **
* Fjern den angitte ressursen fra lagring.
*
* @param int $ id
* @return \ Illuminate \ Http \ Response
* /
offentlig funksjon ødelegge ($ id)

//

Ressursruter:

Legg til følgende rute for UserController å lage ressursruter i nettet.php fil.

Rute :: ressurs ('brukere', 'UserController');

Kjør nå følgende kommando fra terminalen for å sjekke den nåværende rutelisten fra nett.php fil.

$ php håndverkerute: liste

Følgende ruteinformasjon genereres for bruk av metoden Rute :: ressurs (). syv ruter er opprettet for å ringe syv metoder. Bruken av disse rutene blir forklart senere i neste del av denne veiledningen.

Legg til følgende linjer i begynnelsen av UserController.php fil for å importere brukermodellen, Hash-tjenesten for hashing av passordet og DB-tjenesten for databasedrift.

bruk App \ User;
bruk Hash;
bruk DB

Sett inn post:

Endre skape() Metode av UserController med følgende kode. Her, et objekt av Bruker modellen er opprettet for å sette inn de nye postene. Etter å ha tildelt de obligatoriske verdiene, vil lagre() funksjonen kalles for å sette inn den nye posten i studenter bord.

offentlig funksjon lage ()

$ bruker = ny bruker;
$ bruker-> navn = 'fahmida';
$ user-> email = '[email protected]';
$ bruker-> passord = Hash :: make ('12345');
prøve
$ bruker-> lagre ();
ekko "Record er satt inn";

fange (\ Illuminate \ Database \ QueryException $ e)
ekko "Duplicate entry";

Ruten for å ringe skape() Metode av UserController er 'brukere / opprett'. Kjør følgende URL fra nettleseren. Hvis posten er satt inn riktig, vises følgende utgang.

http: // localhost / laravelpro / public / users / create

Nå, hvis du sjekker tabellen fra databasen, vil du få følgende utdata.

Vis alle poster:

Endre indeks () Metode av UserController med følgende kode for å hente alle poster fra brukere tabellen og vise verdiene til Navn og e-post.

offentlig funksjonsindeks ()

$ brukere = DB :: velg ('velg * fra brukere');
foreach ($ brukere som $ bruker)

ekko "Navn: $ bruker-> navn";
ekko "
E-post: $ bruker-> e-post ";

Ruten for å ringe indeks () Metode av UserController er 'brukere'. Kjør følgende URL fra nettleseren.

http: // localhost / laravelpro / public / brukere

Følgende utdata vises.

Velg spesifikk post:

Endre vise fram() Metode av UserController med følgende kode for å hente en post fra brukere tabell som inneholder 1 i id felt og vise verdien på Navn.

offentlig funksjonsvisning ($ id)

$ bruker = DB :: velg ('velg * fra brukere der id ='.$ id);
ekko "Navnet på brukeren er". $ bruker [0] -> navn."
";

Ruten for å ringe vise fram() Metode av UserController er 'brukere / id'. Kjør følgende URL fra nettleseren.

http: // localhost / laravelpro / public / brukere / 1

Følgende utdata vises.

Oppdater post:

To metoder er hovedsakelig definert i ressurskontrolleren for å oppdatere en databasepost. Disse er redigere() og Oppdater() der dataene til posten oppdateres ved hjelp av et hvilket som helst redigert skjema. Men det brukes ikke noe redigeringsskjema her. Så bare den redigere() metoden brukes til å oppdatere en bestemt registrering av studenter bord. Gjeldende verdi for en bestemt post skrives ut før og etter at oppdateringsspørringen er utført.

offentlig funksjonsredigering ($ id)

$ bruker = DB :: velg ('velg * fra brukere der id ='.$ id);
ekko "Den nåværende e-postadressen til brukeren er". $ bruker [0] -> e-post."
";
$ email = '[email protected]';
$ user = DB :: select ("Oppdater brukere angi e-post = '$ email'where id =".$ id);
$ bruker = DB :: velg ('velg * fra brukere der id ='.$ id);
ekko "E-postadressen til brukeren etter oppdatering er". $ bruker [0] -> e-post;

Ruten for å ringe redigere() Metode av UserController er 'brukere / id / rediger'. Kjør følgende URL fra nettleseren.

http: // localhost / laravelpro / public / users / 1 / rediger

Følgende utdata vises.

Slett post:

destroy () -metoden er definert for å slette alle poster fra tabellen. Men ruten for å slette posten går fra en annen metode. Her har jeg brukt vise fram() metode for å opprette en hyperkobling for å slette posten som er lagt til på slutten av metoden.

offentlig funksjonsvisning ($ id)

$ bruker = DB :: velg ('velg * fra brukere der id ='.$ id);
ekko "Navnet på brukeren er". $ bruker [0] -> navn."
";
ekko "Slett";

Legg til følgende kode i ødelegge() metode for å slette en bestemt post.

offentlig funksjon ødelegge ($ id)

$ bruker = DB :: velg ('Slett fra brukere der id ='.$ id);
ekko "Posten er slettet";

Legg til ruten i nett.php fil for å ringe ødelegge() metode.

Rute :: get ('/ brukere / slett / id', '[e-postbeskyttet]');

Etter å ha klikket på slettelinken vises følgende utdata.

Konklusjon:

Bruken av ressurskontrolleren og konseptet med ruteressursen er forklart i detalj i denne opplæringen ved hjelp av en CRUD-operasjon. Jeg håper det vil hjelpe de nye Laravel-brukerne til å implementere CRUD-operasjon enkelt i prosjektet.

Mus Microsoft Sculpt Touch Wireless Mouse Review
Microsoft Sculpt Touch Wireless Mouse Review
Jeg har nylig lest om Microsoft Sculpt Touch trådløs mus og bestemte meg for å kjøpe den. Etter å ha brukt den en stund bestemte jeg meg for å dele mi...
Mus AppyMouse Pekeplate og musepeker på skjermen for Windows-nettbrett
AppyMouse Pekeplate og musepeker på skjermen for Windows-nettbrett
Nettbrettbrukere savner ofte musepekeren, spesielt når de bruker vanlige bærbare datamaskiner. Berøringsskjermen Smarttelefoner og nettbrett har mange...
Mus Midterste museknapp fungerer ikke i Windows 10
Midterste museknapp fungerer ikke i Windows 10
De midtre museknapp hjelper deg med å bla gjennom lange websider og skjermer med mye data. Hvis det stopper, vil du ende opp med å bruke tastaturet ti...