laravel

Fasada Laravela

Fasada Laravela
Kontener usług Laravel umożliwia użytkownikowi inicjowanie klas przez alias. Sposób dostępu do kontenera serwisowego Laravel nazywa się fasadą. Laravel zawiera wiele wbudowanych fasad, aby uzyskać dostęp do różnych funkcji Laravel. Fasada jest używana w Laravel, aby aplikacja była bardziej testowalna, elastyczna i prostsza. Wszystkie wbudowane fasady są zdefiniowane w przestrzeni nazw Oświetl \ Wsparcie \ Fasady. Ten samouczek pokazuje, jak tworzyć i używać wbudowanych fasad Laravel.

Korzystanie z wbudowanych elewacji

Aby korzystać z dowolnej wbudowanej fasady, musisz stworzyć kontroler. Uruchom następujące polecenie, aby utworzyć kontroler o nazwie TestController.

Zmodyfikuj TestController z poniższym kodem, aby pokazać zastosowanie wbudowanej elewacji DB. Ta fasada służy do wykonywania wszelkiego rodzaju operacji na bazach danych. W poniższym kodzie wszystkie rekordy tabeli użytkownika zostaną pobrane za pomocą DB fasada. Wynik zostanie wydrukowany jako tablica po wykonaniu kodu.

TestController.php:

przestrzeń nazw App\Http\Controllers;
użyj Iluminate\Http\Request;
użyj DB;
klasa TestController rozszerza Kontroler

indeks funkcji publicznej()

$users = DB::select('wybierz * spośród użytkowników');
echo print_r($użytkownicy);

Dodaj następującą trasę w sieć.php plik. To wywoła indeks() metoda TestController na trasę '/test.'

Route::get('/test', '[email chroniony]');

Uruchom następujący adres URL z przeglądarki.

http://localhost/laravelpro/public/test

Utwórz fasadę

Wykonaj poniższe czynności, aby stworzyć niestandardową fasadę w Laravel.

1. Utwórz folder o nazwie Powierzchnia pod Aplikacja folder i utwórz plik o nazwie Powierzchnia.php w tym folderze z następującym kodem. W klasie zdefiniowane są cztery metody obliczania pola powierzchni koła, kwadratu, prostokąta i trójkąta. Okrąg() przyjmie wartość promienia jako parametr do obliczenia powierzchni. Kwadrat() przyjmie długość każdego boku kwadratu jako parametr do obliczenia powierzchni. Prostokąt() przyjmie wysokość i szerokość jako parametry do obliczenia obszaru. Trójkąt() przyjmie wartość podstawy i wysokości trójkąta, aby obliczyć powierzchnię.

przestrzeń nazw Aplikacja\Obszar;
klasa Powierzchnia

funkcja publiczna Okrąg($promień)

return "Powierzchnia okręgu to ".(3.14*$promień*$promień);

funkcja publiczna Plac ($len)

return "Powierzchnia kwadratu to ".($len*$len);

funkcja publiczna Prostokąt ($wysokość,$szerokość)

return "Powierzchnia prostokąta to ".($wysokość*$szerokość);

Trójkąt funkcji publicznej ($podstawa,$wysokość)

return "Powierzchnia trójkąta to ".(0.5*$podstawa*$wysokość);

2. Dodaj następujące trasy, aby uzyskać dostęp do metod Powierzchnia klasa. Tutaj, gdy użytkownik wpisze „powierzchnia' po podstawowym adresie URL, obiekt of Powierzchnia zostanie zdefiniowana klasa, a cztery metody tej klasy są wywoływane z wartościami parametrów. Ale jeśli chcesz uzyskać dostęp do metod klasy bezpośrednio jak fasada bez tworzenia obiektu, zostanie wygenerowany błąd. Kolejne kroki pokazują, jak utworzyć fasadę, aby uzyskać bezpośredni dostęp do metod tej klasy.

użyj aplikacji\obszar\obszar;
Trasa::get('/obszar', funkcja ()
$obszar = nowy obszar();
echo $area->Okrąg(3)."
";
echo $area->Kwadrat(4)."
";
echo $area->Prostokąt (100 200)."
";
echo $area->Trójkąt(10,5)."
";
);

3. Uruchom następujący adres URL z przeglądarki, aby sprawdzić, czy trasa działa.

http://localhost/laravelpro/public/area

Jeśli trasa działa poprawnie, pojawi się następujący wynik:.

4. Utwórz folder o nazwie Fasady pod aplikacja folder i utwórz plik o nazwie Oblicz obszar.php z następującym kodem. Tutaj pobierzFasadaAccessor() metoda jest zdefiniowana wewnątrz Oblicz obszar zwrócić ciąg cal_obszar używany do wiązania Powierzchnia klasa.

przestrzeń nazw App\Fasady;
class CalculateArea rozszerza \Illuminate\Support\Facades\Facade

publiczna funkcja statyczna getFacadeAccessor()

zwróć 'cal_area';

5. otwarty sieć.php i dodaj następujący kod, aby powiązać Powierzchnia klasa z Oblicz obszar klasa elewacji po sznurku cal_obszar.

app()->bind('cal_area', function()
zwróć nowy \App\Area\Area;
);

6. Otworzyć aplikacja.php plik pod konfiguracja teczka. Przejdź do sekcji tablicy aliasów i dodaj następujący wiersz na końcu tablicy. To definiuje Oblicz obszar jako indeks tablicy, a wartością jest klasa elewacji zdefiniowana w /aplikacja/fasada teczka. Teraz możesz uzyskać dostęp do metod Powierzchnia klasa jako fasada bez tworzenia żadnego obiektu.

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

7. Dodaj następującą trasę w sieć.php plik, aby uzyskać dostęp do metod Powierzchnia klasa używająca Oblicz obszar fasada.

Trasa::get('/calarea', function ()
echo ObliczObszar::Okrąg(3)."
";
echo ObliczObszar::Kwadrat(4)."
";
echo ObliczObszar::Prostokąt (100,200)."
";
echo ObliczObszar::Trójkąt(10,5)."
";
);

8. Uruchom następujący adres URL z przeglądarki, aby sprawdzić, czy trasa działa.

http://localhost/laravelpro/public/calarea

Jeśli trasa działa poprawnie, pojawi się następujący wynik:.

9. Możesz także użyć Oblicz obszar fasada jak wbudowana fasada w dowolnym sterowniku. Uruchom następujące polecenie, aby utworzyć kontroler o nazwie FasadaKontroler gdzie Oblicz obszar elewacja zostanie zastosowana.

$ php artisan make:kontroler FasadaController

Zmodyfikuj sterownik następującym kodem, gdzie Oblicz obszar fasada jest importowana, a indeks() metoda jest dodawana wewnątrz kontrolera. Kiedy indeks() nazywana jest metoda, cztery metody of Powierzchnia zostanie wywołana klasa, a sformatowane dane wyjściowe zostaną wydrukowane za pomocą CSS.

przestrzeń nazw App\Http\Controllers;
użyj Iluminate\Http\Request;
użyj CalculateArea;
Class FacadeController rozszerza kontroler

indeks funkcji publicznej()

Echo "

".ObliczObszar::Okrąg(5)."

";
Echo "

".ObliczObszar::Kwadrat(5)."

";
Echo "

".ObliczArea::Prostokąt (200,200)."

";
Echo "

".Oblicz obszar::Trójkąt(15,5)."

";

10. Dodaj następującą trasę w sieć.php aby uzyskać dostęp do indeks() metoda FasadaKontroler.

Route::get('calculateArea', '[email protected]');

11. Uruchom następujący adres URL z przeglądarki, aby sprawdzić, czy trasa działa.

http://localhost/laravelpro/public/calculateArea

Jeśli trasa działa poprawnie, pojawi się następujący wynik:.

Wniosek

Funkcja omówiona w tym artykule może być wykorzystana w różnych miejscach, takich jak kontroler lub trasa Laravela, za pomocą fasady. Ułatwia to zadanie programistyczne. W tym samouczku wyjaśniono zastosowanie zarówno fasad wbudowanych, jak i zdefiniowanych przez użytkownika, używając odpowiednich przykładów. Zastosowanie wbudowanej elewacji, DB, jest pokazywany za pomocą kontrolera. Zastosowanie niestandardowej elewacji, Oblicz obszar, jest pokazywany za pomocą trasy i kontrolera. W tym samouczku wyjaśniono koncepcję wykorzystania fasady, aby pomóc programistom Laravel w zastosowaniu jej w swoich projektach, w oparciu o ich specyficzne wymagania.

Gry Najlepsze gry wiersza poleceń dla systemu Linux
Najlepsze gry wiersza poleceń dla systemu Linux
Wiersz poleceń jest nie tylko twoim największym sprzymierzeńcem podczas korzystania z Linuksa - może być również źródłem rozrywki, ponieważ możesz go ...
Gry Najlepsze aplikacje do mapowania gamepada dla systemu Linux
Najlepsze aplikacje do mapowania gamepada dla systemu Linux
Jeśli lubisz grać w gry na Linuksie za pomocą gamepada zamiast typowego systemu wprowadzania klawiatury i myszy, jest kilka przydatnych aplikacji dla ...
Gry Przydatne narzędzia dla graczy Linuksa
Przydatne narzędzia dla graczy Linuksa
Jeśli lubisz grać w gry w systemie Linux, prawdopodobnie używałeś aplikacji i narzędzi, takich jak Wine, Lutris i OBS Studio, aby poprawić wrażenia z ...