laravel

Laravel fasade

Laravel fasade
Laravel-servicecontaineren lar brukeren starte klasser etter alias. Måten å få tilgang til Laravel servicecontainer kalles en fasade. Laravel inneholder mange innebygde fasader for å få tilgang til forskjellige Laravel-funksjoner. Fasaden brukes i Laravel for å gjøre applikasjonen mer testbar, fleksibel og enklere. Alle innebygde fasader er definert i navneområdet Illuminate \ Support \ Facades. Denne veiledningen viser hvordan du lager og bruker Laravel innebygde fasader.

Bruk av innebygde fasader

Du må opprette en kontroller for å bruke hvilken som helst innebygd fasade. Kjør følgende kommando for å opprette en kontroller som heter Testkontroll.

Endre Testkontroll med følgende kode for å vise bruken av den innebygde fasaden DB. Denne fasaden brukes til å utføre alle typer databaseoperasjoner. I følgende kode vil alle poster i brukerens tabell bli hentet ved å bruke DB fasade. Utdataene skrives ut som en matrise etter at koden er utført.

Testkontroll.php:

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

offentlig funksjonsindeks ()

$ brukere = DB :: velg ('velg * fra brukere');
ekko print_r ($ brukere);

Legg til følgende rute i nett.php fil. Dette vil kalle indeks () metode Testkontroll for ruten '/test.'

Rute :: get ('/ test', '[email protected]');

Kjør følgende URL fra nettleseren.

http: // localhost / laravelpro / public / test

Lag en fasade

Følg trinnene nedenfor for å lage en tilpasset fasade i Laravel.

1. Opprett en mappe med navnet Område under appen mappen og opprett en fil med navnet Område.php under denne mappen med følgende kode. Fire metoder er definert i klassen for å beregne arealet til en sirkel, firkant, rektangel og trekant. Sirkel() tar radiusverdien som parameter for å beregne området. Torget() vil ta lengden på hver side av firkanten som en parameter for å beregne arealet. Rektangel() vil ta høyden og bredden som parametere for å beregne arealet. Triangel() vil ta grunn- og høydeverdiene til trekanten for å beregne arealet.

navneområde App \ Area;
klasse Område

offentlig funksjon Circle ($ radius)

returner "Sirkelområdet er".(3.14 * $ radius * $ radius);

offentlig funksjon Square ($ len)

retur "Arealet av sqaure er".($ len * $ len);

offentlig funksjon Rektangel ($ høyde, $ bredde)

returner "Arealet av rektangelet er".($ høyde * $ bredde);

offentlig funksjon Triangle ($ base, $ høyde)

returner "Arealet av trekanten er".(0.5 * $ base * $ høyde);

2. Legg til følgende ruter for å få tilgang til metodene til Område klasse. Her, når brukeren skriver 'områdeetter basen URL, et objekt av Område klasse vil bli definert, og de fire metodene i denne klassen kalles med parameterverdier. Men hvis du vil ha tilgang til metodene i klassen direkte som en fasade uten å lage objektet, vil det genereres en feil. De neste trinnene viser deg hvordan du lager en fasade for å få tilgang til metodene i denne klassen direkte.

bruk App \ Area \ Area;
Rute :: get ('/ area', function ()
$ area = new Area ();
echo $ area-> Circle (3)."
";
echo $ area-> Square (4)."
";
ekko $ area-> Rektangel (100.200)."
";
echo $ area-> Triangle (10,5)."
";
);

3. Kjør følgende URL fra nettleseren for å sjekke om ruten fungerer.

http: // localhost / laravelpro / public / area

Følgende utdata vises hvis ruten fungerer som den skal.

4. Opprett en mappe med navnet Fasader under app mappen og opprett en fil med navnet Beregn område.php med følgende kode. Her, den getFacadeAccessor () metode er definert inne Beregn område for å returnere strengen cal_area brukes til å binde Område klasse.

navneområde App \ Fasader;
klasse CalculateArea utvider \ Illuminate \ Support \ Facades \ Facade

offentlig statisk funksjon getFacadeAccessor ()

returner 'cal_area';

5. Åpen nett.php og legg til følgende kode for å binde Område klasse med Beregn område fasadeklasse ved strengen cal_area.

app () -> bind ('cal_area', funksjon ()
returner nytt \ App \ Area \ Area;
);

6. Åpne app.php filen under config mappe. Gå til seksjonen aliaser array og legg til følgende linje på slutten av arrayen. Dette definerer Beregn område som en matriseindeks, og verdien er fasadeklassen som er definert under /app/ fasade mappe. Nå kan du få tilgang til metodene for Område klasse som en fasade uten å skape noe objekt.

'CalculateArea' => App \ Facades \ CalculateArea :: class,

7. Legg til følgende rute i nett.php filen for å få tilgang til metodene til Område klasse ved hjelp av Beregn område fasade.

Rute :: get ('/ calarea', function ()
ekko CalculateArea :: Circle (3)."
";
ekko CalculateArea :: Square (4)."
";
ekko CalculateArea :: Rektangel (100.200)."
";
ekko CalculateArea :: Triangle (10,5)."
";
);

8. Kjør følgende URL fra nettleseren for å sjekke om ruten fungerer.

http: // localhost / laravelpro / public / calarea

Følgende utdata vises hvis ruten fungerer som den skal.

9. Du kan også bruke Beregn område fasade som en innebygd fasade i hvilken som helst kontroller. Kjør følgende kommando for å opprette en kontroller som heter Fasadekontroller hvor i Beregn område fasade vil bli brukt.

$ php håndverkermerke: controller FacadeController

Endre kontrolleren med følgende kode, der Beregn område fasaden importeres og indeks () metoden er lagt inn i kontrolleren. Når indeks () metoden kalles, de fire metodene for Område klasse vil bli kalt, og de formaterte utgangene blir skrevet ut ved hjelp av CSS.

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

offentlig funksjonsindeks ()

ekko "

".CalculateArea :: Circle (5)."

";
ekko "

".CalculateArea :: Square (5)."

";
ekko "

".CalculateArea :: Rektangel (200.200)."

";
ekko "

".CalculateArea :: Triangle (15,5)."

";

10. Legg til følgende rute i nett.php for å få tilgang til tilgang til indeks () Metode av Fasadekontroller.

Rute :: get ('CalcArea', '[email protected]');

11. Kjør følgende URL fra nettleseren for å sjekke om ruten fungerer.

http: // localhost / laravelpro / public / CalcArea

Følgende utdata vises hvis ruten fungerer som den skal.

Konklusjon

Funksjonen som er diskutert i denne artikkelen kan brukes på forskjellige steder, som kontrolleren eller ruten til Laravel, ved å bruke fasade. Dette gjør utviklingsoppgaven enklere. Bruken av både innebygde og brukerdefinerte fasader er forklart i denne veiledningen ved hjelp av passende eksempler. Bruken av en innebygd fasade, DB, vises ved hjelp av en kontroller. Bruk av en tilpasset fasade, Beregn område, vises ved hjelp av en rute og en kontroller. Denne veiledningen forklarte begrepet å bruke en fasade for å hjelpe Laravel-utviklere å bruke den i sine prosjekter, basert på deres spesifikke krav.

Hvordan vise OSD-overlegg i fullskjerm Linux-apper og spill
Å spille fullskjermspill eller bruke apper i distraksjonsfri fullskjermmodus kan avskrekke deg fra relevant systeminformasjon som er synlig i et panel...
Topp 5 spillfangstkort
Vi har alle sett og elsket streaming av spill på YouTube. PewDiePie, Jakesepticye og Markiplier er bare noen av de beste spillerne som har tjent milli...
Hvordan utvikle et spill på Linux
For et tiår siden ville ikke mange Linux-brukere forutsi at deres favorittoperativsystem en dag ville være en populær spillplattform for kommersielle ...