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 FacadeControllerEndre 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.