laravel

Laravel fasad

Laravel fasad
Laravels servicebehållare tillåter användaren att initiera klasser med alias. Sättet att komma åt Laravels servicecontainer kallas en fasad. Laravel innehåller många inbyggda fasader för att komma åt olika Laravel-funktioner. Fasaden används i Laravel för att göra applikationen mer testbar, flexibel och enklare. Alla inbyggda fasader definieras i namnområdet Illuminate \ Support \ Facades. Denna handledning visar hur man skapar och använder Laravel inbyggda fasader.

Användning av inbyggda fasader

Du måste skapa en styrenhet för att använda vilken inbyggd fasad som helst. Kör följande kommando för att skapa en controller som heter Testkontroll.

Ändra Testkontroll med följande kod för att visa användningen av den inbyggda fasaden DB. Denna fasad används för att göra alla typer av databasåtgärder. I följande kod kommer alla poster i användarens tabell att hämtas med hjälp av DB Fasad. Utskriften skrivs ut som en matris efter att koden har körts.

Testkontroll.php:

namnrymd App \ Http \ Controllers;
använd Illuminate \ Http \ Request;
använd DB;
klass TestController utökar Controller

offentligt funktionsindex ()

$ användare = DB :: välj ('välj * från användare');
echo print_r ($ användare);

Lägg till följande rutt i webb.php fil. Detta kommer att kalla index() metod Testkontroll för rutten '/testa.''

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

Kör följande URL från webbläsaren.

http: // localhost / laravelpro / public / test

Skapa en fasad

Följ stegen nedan för att skapa en anpassad fasad i Laravel.

1. Skapa en mapp med namnet Område under appen mapp och skapa en fil med namnet Område.php under den här mappen med följande kod. Fyra metoder definieras i klassen för att beräkna ytan för en cirkel, kvadrat, rektangel och triangel. Cirkel() tar radievärdet som en parameter för att beräkna området. Fyrkant() tar längden på varje sida av rutan som en parameter för att beräkna ytan. Rektangel() tar höjd och bredd som parametrar för att beräkna området. Triangel() tar bas- och höjdvärdena för triangeln för att beräkna ytan.

namnområde App \ Area;
klass Område

public function Circle ($ radie)

returnera "Cirkelns område är".(3.14 * $ radie * $ radie);

offentlig funktion Square ($ len)

returnera "Arean av sqaure är".($ len * $ len);

offentlig funktion Rektangel ($ höjd, $ bredd)

return "Rektangelns område är".($ höjd * $ bredd);

offentlig funktion triangel ($ bas, $ höjd)

returnera "Området med triangeln är".(0.5 * $ bas * $ höjd);

2. Lägg till följande rutter för att komma åt metoderna för Område klass. Här, när användaren skriver 'område"efter bas-URL: en, ett objekt av Område klass definieras och de fyra metoderna i denna klass kallas med parametervärden. Men om du vill komma åt klassens metoder direkt som en fasad utan att skapa objektet, genereras ett fel. Nästa steg visar hur du skapar en fasad för att komma åt metoderna i denna klass direkt.

använd App \ Area \ Area;
Rutt :: get ('/ area', function ()
$ area = new Area ();
echo $ area-> Cirkel (3)."
";
echo $ area-> Square (4)."
";
echo $ area-> Rektangel (100 200)."
";
echo $ area-> Triangle (10,5)."
";
);

3. Kör följande URL från webbläsaren för att kontrollera om rutten fungerar.

http: // localhost / laravelpro / public / area

Följande utdata visas om rutten fungerar korrekt.

4. Skapa en mapp med namnet Fasader under app mapp och skapa en fil med namnet Beräkna område.php med följande kod. Här, den getFacadeAccessor () metod definieras inuti Beräkna område för att returnera strängen cal_area används för att binda Område klass.

namnrymd App \ Fasader;
klass CalculateArea utökar \ Illuminate \ Support \ Facades \ Facade

offentlig statisk funktion getFacadeAccessor ()

returnera 'cal_area';

5. Öppna webb.php och lägg till följande kod för att binda Område klass med Beräkna område fasadklass vid strängen cal_area.

app () -> bind ('cal_area', funktion ()
returnera nytt \ App \ Area \ Area;
);

6. Öppna app.php fil under konfigurera mapp. Gå till avsnittet alias array och lägg till följande rad i slutet av arrayen. Detta definierar Beräkna område som ett matrisindex och värdet är fasadklassen som definieras under /app/Fasad mapp. Nu kan du komma åt metoderna för Område klass som en fasad utan att skapa något objekt.

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

7. Lägg till följande rutt i webb.php fil för att komma åt metoderna för Område klass med hjälp av Beräkna område Fasad.

Rutt :: get ('/ calarea', function ()
eko CalculateArea :: Cirkel (3)."
";
echo CalculateArea :: Square (4)."
";
eko CalculateArea :: Rektangel (100.200)."
";
eko CalculateArea :: Triangle (10,5)."
";
);

8. Kör följande URL från webbläsaren för att kontrollera om rutten fungerar.

http: // localhost / laravelpro / public / calarea

Följande utdata visas om rutten fungerar korrekt.

9. Du kan också använda Beräkna område fasad som en inbyggd fasad i vilken styrenhet som helst. Kör följande kommando för att skapa en controller som heter FacadeController där den Beräkna område fasaden kommer att tillämpas.

$ php artisan make: controller FacadeController

Ändra styrenheten med följande kod, där Beräkna område fasaden importeras och index() metod läggs in i styrenheten. När index() metod kallas, de fyra metoderna för Område klass kommer att anropas och de formaterade utmatningarna skrivs ut med CSS.

namnrymd App \ Http \ Controllers;
använd Illuminate \ Http \ Request;
använd CalculateArea;
klass FacadeController utökar Controller

offentligt funktionsindex ()

eko "

".CalculateArea :: Cirkel (5)."

";
eko "

".CalculateArea :: Square (5)."

";
eko "

".CalculateArea :: Rektangel (200.200)."

";
eko "

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

";

10. Lägg till följande rutt i webb.php för att få tillgång till åtkomst till index() metod av FacadeController.

Rutt :: get ('beräknaArea', '[email protected]');

11. Kör följande URL från webbläsaren för att kontrollera om rutten fungerar.

http: // localhost / laravelpro / public / calcArea

Följande utdata visas om rutten fungerar korrekt.

Slutsats

Funktionen som diskuteras i den här artikeln kan användas på olika platser, som kontrollen eller Laravels rutt, genom att använda fasad. Detta underlättar utvecklingsuppgiften. Användningarna av både inbyggda och användardefinierade fasader förklaras i denna handledning med hjälp av lämpliga exempel. Användningen av en inbyggd fasad, DB, visas med hjälp av en styrenhet. Användningen av en anpassad fasad, Beräkna område, visas med hjälp av en rutt och en styrenhet. Denna handledning förklarade konceptet att använda en fasad för att hjälpa Laravel-utvecklare att tillämpa den i sina projekt, baserat på deras specifika krav.

Mus Topp 5 Ergonomiska datormusprodukter för Linux
Topp 5 Ergonomiska datormusprodukter för Linux
Ger långvarig datoranvändning smärta i handleden eller fingrarna? Lider du av styva leder och måste ständigt skaka hand? Känner du en brännande smärta...
Mus Så här ändrar du inställningar för mus och pekplatta med Xinput i Linux
Så här ändrar du inställningar för mus och pekplatta med Xinput i Linux
De flesta Linux-distributioner levereras med "libinput" -bibliotek som standard för att hantera inmatningshändelser i ett system. Den kan bearbeta inm...
Mus Omforma dina musknappar på olika sätt för olika program med X-Mouse Button Control
Omforma dina musknappar på olika sätt för olika program med X-Mouse Button Control
Kanske behöver du ett verktyg som kan göra att musens kontroll ändras med alla applikationer som du använder. Om så är fallet kan du prova en ansökan ...