laravel

Laravel facade

Laravel facade
Laravel-servicecontaineren giver brugeren mulighed for at starte klasser efter alias. Vejen til adgang til Laravel-servicecontaineren kaldes en facade. Laravel indeholder mange indbyggede facader for at få adgang til forskellige Laravel-funktioner. Facaden bruges i Laravel for at gøre applikationen mere testbar, fleksibel og enklere. Alle indbyggede facader er defineret i navneområdet Illuminate \ Support \ Facades. Denne vejledning viser, hvordan man opretter og bruger Laravel indbyggede facader.

Brug af indbyggede facader

Du skal oprette en controller for at bruge enhver indbygget facade. Kør følgende kommando for at oprette en controller, der hedder Testkontrol.

Rediger Testkontrol med følgende kode for at vise brugen af ​​den indbyggede facade DB. Denne facade bruges til at udføre alle typer databasefunktioner. I den følgende kode vil alle poster i brugerens tabel blive hentet ved hjælp af DB facade. Outputtet udskrives som en matrix efter udførelse af koden.

Testkontrol.php:

navneområde App \ Http \ Controllers;
brug Illuminate \ Http \ Request;
brug DB;
klasse TestController udvider Controller

offentligt funktionsindeks ()

$ brugere = DB :: vælg ('vælg * fra brugere');
ekko print_r ($ brugere);

Tilføj følgende rute i web.php fil. Dette vil kalde indeks() metode Testkontrol til ruten '/prøve.''

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

Kør følgende URL fra browseren.

http: // localhost / laravelpro / public / test

Opret en facade

Følg trinene nedenfor for at oprette en brugerdefineret facade i Laravel.

1. Opret en mappe med navnet Areal under appen mappe, og opret en fil med navnet Areal.php under denne mappe med følgende kode. Fire metoder er defineret i klassen til at beregne arealet af en cirkel, firkant, rektangel og trekant. Cirkel() tager radiusværdien som en parameter til at beregne området. Firkant() tager længden af ​​hver side af firkanten som en parameter til beregning af arealet. Rektangel() tager højden og bredden som parametre for at beregne området. Trekant() vil tage basis- og højdeværdierne for trekanten for at beregne arealet.

navneområde App \ Område;
klasse Område

offentlig funktion Circle ($ radius)

returner "Områdets område er".(3.14 * $ radius * $ radius);

offentlig funktion Square ($ len)

returner "Arealet af sqaure er".($ len * $ len);

offentlig funktion Rektangel ($ højde, $ bredde)

returner "Arealet af rektangel er".($ højde * $ bredde);

offentlig funktion Triangle ($ base, $ højde)

returner "Området med trekant er".(0.5 * $ base * $ højde);

2. Tilføj følgende ruter for at få adgang til metoderne til Areal klasse. Her, når brugeren skriver 'areal'efter basis-URL, et objekt af Areal klasse defineres, og de fire metoder i denne klasse kaldes med parameterværdier. Men hvis du vil have adgang til klassens metoder direkte som en facade uden at oprette objektet, genereres der en fejl. De næste trin viser dig, hvordan du opretter en facade for direkte at få adgang til metoderne i denne klasse.

brug App \ Area \ Area;
Rute :: get ('/ area', function ()
$ område = nyt område ();
echo $ area-> Circle (3)."
";
echo $ area-> Square (4)."
";
echo $ area-> Rektangel (100.200)."
";
echo $ area-> Triangle (10,5)."
";
);

3. Kør følgende URL fra browseren for at kontrollere, om ruten fungerer.

http: // localhost / laravelpro / public / area

Følgende output vises, hvis ruten fungerer korrekt.

4. Opret en mappe med navnet Facader under app mappe, og opret en fil med navnet Beregn område.php med følgende kode. Her, den getFacadeAccessor () metode er defineret indeni Beregn område for at returnere strengen cal_area bruges til at binde Areal klasse.

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

offentlig statisk funktion getFacadeAccessor ()

returner 'cal_area';

5. Åben web.php og tilføj følgende kode for at binde Areal klasse med Beregn område facadeklasse ved strengen cal_area.

app () -> bind ('cal_area', funktion ()
returner nyt \ App \ Area \ Area;
);

6. Åbn app.php fil under config folder. Gå til sektionen alias-array og tilføj følgende linje i slutningen af ​​arrayet. Dette definerer Beregn område som et matrixindeks, og værdien er den facadeklasse, der er defineret under /app/ facade folder. Nu kan du få adgang til metoderne til Areal klasse som en facade uden at skabe noget objekt.

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

7. Tilføj følgende rute i web.php fil for at få adgang til metoderne til Areal klasse ved hjælp af Beregn område facade.

Rute :: get ('/ calarea', funktion ()
ekko CalculateArea :: Cirkel (3)."
";
ekko CalculateArea :: Square (4)."
";
ekko CalculateArea :: rektangel (100.200)."
";
ekko CalculateArea :: Triangle (10,5)."
";
);

8. Kør følgende URL fra browseren for at kontrollere, om ruten fungerer.

http: // localhost / laravelpro / public / calarea

Følgende output vises, hvis ruten fungerer korrekt.

9. Du kan også bruge Beregn område facade som en indbygget facade i enhver controller. Kør følgende kommando for at oprette en controller, der hedder FacadeController hvor er Beregn område facade vil blive anvendt.

$ php håndværkerfabrik: controller FacadeController

Ændr controlleren med følgende kode, hvor Beregn område facade importeres og indeks() metode tilføjes inde i controlleren. Når indeks() metode kaldes, de fire metoder til Areal klasse kaldes, og de formaterede output udskrives ved hjælp af CSS.

navneområde App \ Http \ Controllers;
brug Illuminate \ Http \ Request;
brug CalculateArea;
klasse FacadeController udvider Controller

offentligt funktionsindeks ()

ekko "

".CalculateArea :: Cirkel (5)."

";
ekko "

".CalculateArea :: Square (5)."

";
ekko "

".CalculateArea :: Rektangel (200.200)."

";
ekko "

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

";

10. Tilføj følgende rute i web.php for at få adgang til adgang til indeks() metode til FacadeController.

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

11. Kør følgende URL fra browseren for at kontrollere, om ruten fungerer.

http: // localhost / laravelpro / public / CalcArea

Følgende output vises, hvis ruten fungerer korrekt.

Konklusion

Funktionen, der diskuteres i denne artikel, kan bruges forskellige steder som f.eks. Controller eller rute for Laravel ved hjælp af facade. Dette gør udviklingsopgaven lettere. Brugen af ​​både indbyggede og brugerdefinerede facader forklares i denne vejledning ved hjælp af passende eksempler. Brug af en indbygget facade, DB, vises ved hjælp af en controller. Brugen af ​​en brugerdefineret facade, Beregn område, vises ved hjælp af en rute og en controller. Denne tutorial forklarede konceptet med at bruge en facade til at hjælpe Laravel-udviklere med at anvende den i deres projekter baseret på deres specifikke krav.

Mus WinMouse giver dig mulighed for at tilpasse og forbedre musemarkørens bevægelse på Windows-pc
WinMouse giver dig mulighed for at tilpasse og forbedre musemarkørens bevægelse på Windows-pc
Hvis du vil forbedre standardfunktionerne for din musemarkør, skal du bruge freeware WinMouse. Det tilføjer flere funktioner, der hjælper dig med at f...
Mus Museklik på venstre museknap fungerer ikke på Windows 10
Museklik på venstre museknap fungerer ikke på Windows 10
Hvis du bruger en dedikeret mus med din bærbare computer eller stationære computer, men musens venstre-klik-knap fungerer ikke på Windows 10/8/7 af en...
Mus Markøren hopper eller bevæger sig tilfældigt, mens han skriver i Windows 10
Markøren hopper eller bevæger sig tilfældigt, mens han skriver i Windows 10
Hvis du finder ud af, at din musemarkør hopper eller bevæger sig alene, automatisk tilfældigt, mens du skriver Windows-bærbar computer eller computer,...