laravel

Laravelská fasáda

Laravelská fasáda
Kontejner služby Laravel umožňuje uživateli zahájit třídy aliasem. Způsob přístupu k servisnímu kontejneru Laravel se nazývá fasáda. Laravel obsahuje mnoho vestavěných fasád pro přístup k různým funkcím laravel. Fasáda se používá v Laravelu, aby byla aplikace testovatelnější, flexibilnější a jednodušší. Všechny vestavěné fasády jsou definovány v oboru názvů Osvětlit \ Podpora \ Fasády. Tento výukový program ukazuje, jak vytvořit a používat vestavěné fasády Laravel.

Použití vestavěných fasád

Chcete-li použít jakoukoli vestavěnou fasádu, musíte vytvořit řadič. Spuštěním následujícího příkazu vytvořte řadič s názvem TestController.

Upravte TestController s následujícím kódem, který ukazuje použití vestavěné fasády DB. Tato fasáda se používá k provádění všech typů databázových operací. V následujícím kódu budou všechny záznamy tabulky uživatele načteny pomocí DB fasáda. Po provedení kódu bude výstup vytištěn jako pole.

TestController.php:

jmenný prostor App \ Http \ Controllers;
použijte Illuminate \ Http \ Request;
použijte DB;
třída TestController rozšiřuje Controller

index veřejné funkce ()

$ users = DB :: select ('select * from users');
echo print_r ($ uživatelé);

Přidejte následující trasu do web.php soubor. Tím se zavolá index() metoda TestController pro trasu '/test.''

Route :: get ('/ test', '[e-mail chráněn]');

Spusťte následující adresu URL z prohlížeče.

http: // localhost / laravelpro / public / test

Vytvořte fasádu

Podle následujících pokynů vytvoříte v Laravelu vlastní fasádu.

1. Vytvořte složku s názvem Plocha pod aplikace složku a vytvořte soubor s názvem Plocha.php v této složce s následujícím kódem. Ve třídě jsou definovány čtyři metody pro výpočet plochy kruhu, čtverce, obdélníku a trojúhelníku. Kruh() vezme hodnotu poloměru jako parametr pro výpočet plochy. Náměstí() vezme délku každé strany čtverce jako parametr pro výpočet plochy. Obdélník() vezme výšku a šířku jako parametry pro výpočet plochy. Trojúhelník() vezme základní a výškové hodnoty trojúhelníku pro výpočet plochy.

jmenný prostor App \ Area;
třída Area

public function Circle ($ radius)

návrat "Plocha kruhu je".(3.14 * $ radius * $ radius);

veřejná funkce Square ($ len)

návrat "Plocha sqaure je".($ len * $ len);

veřejná funkce Obdélník ($ výška, $ šířka)

návrat "Oblast obdélníku je".($ výška * $ šířka);

public function Triangle ($ base, $ height)

návrat "Plocha trojúhelníku je".(0.5 * $ základna * $ výška);

2. Přidejte následující trasy pro přístup k metodám Plocha třída. Tady, když uživatel zadá 'plocha"za základní adresou URL objekt Plocha třída bude definována a čtyři metody této třídy jsou volány s hodnotami parametrů. Pokud ale chcete přistupovat k metodám třídy přímo jako k fasádě bez vytvoření objektu, bude vygenerována chyba. Další kroky vám ukážou, jak vytvořit fasádu pro přímý přístup k metodám této třídy.

použijte App \ Area \ Area;
Route :: get ('/ area', function ()
$ area = new Area ();
echo $ area-> Circle (3)."
";
echo $ area-> Square (4)."
";
echo $ area-> Rectangle (100,200)."
";
echo $ area-> Triangle (10,5)."
";
);

3. Spusťte následující adresu URL z prohlížeče a zkontrolujte, zda trasa funguje.

http: // localhost / laravelpro / public / area

Pokud trasa funguje správně, zobrazí se následující výstup.

4. Vytvořte složku s názvem Fasády pod aplikace složku a vytvořte soubor s názvem CalculateArea.php s následujícím kódem. Tady getFacadeAccessor () metoda je definována uvnitř CalculateArea vrátit řetězec cal_area slouží k vázání Plocha třída.

jmenný prostor App \ Fasády;
třída CalculateArea rozšiřuje \ Illuminate \ Support \ Fasády \ Fasáda

veřejná statická funkce getFacadeAccessor ()

vrátit 'cal_area';

5. Otevřeno web.php a přidejte následující kód k vytvoření vazby Plocha třída s CalculateArea třída fasády podle řetězce cal_area.

app () -> bind ('cal_area', function ()
vrátit nový \ App \ Area \ Area;
);

6. Otevři aplikace.php soubor pod konfigurace složku. Přejděte do sekce pole aliasy a na konec pole přidejte následující řádek. To definuje CalculateArea jako index pole a hodnotou je třída fasády, která je definována pod /aplikace/fasáda složku. Nyní máte přístup k metodám Plocha třídy jako fasáda bez vytváření jakéhokoli objektu.

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

7. Přidejte následující trasu do web.php soubor pro přístup k metodám Plocha třída pomocí CalculateArea fasáda.

Route :: get ('/ calarea', function ()
echo CalculateArea :: Circle (3)."
";
echo CalculateArea :: Square (4)."
";
echo CalculateArea :: Rectangle (100,200)."
";
echo CalculateArea :: Triangle (10,5)."
";
);

8. Spusťte následující adresu URL z prohlížeče a zkontrolujte, zda trasa funguje.

http: // localhost / laravelpro / public / calarea

Pokud trasa funguje správně, zobrazí se následující výstup.

9. Můžete také použít CalculateArea fasáda jako vestavěná fasáda v libovolném ovladači. Spuštěním následujícího příkazu vytvořte řadič s názvem FacadeController Kde CalculateArea bude použita fasáda.

$ php artisan make: controller FacadeController

Upravte ovladač následujícím kódem, kde CalculateArea fasáda je importována a index() metoda je přidána uvnitř řadiče. Když index() metoda se nazývá, čtyři metody Plocha bude vyvolána třída a formátované výstupy budou vytištěny pomocí CSS.

jmenný prostor App \ Http \ Controllers;
použijte Illuminate \ Http \ Request;
použijte CalculateArea;
třída FacadeController rozšiřuje Controller

index veřejné funkce ()

ozvěna "

".CalculateArea :: Circle (5)."

";
ozvěna "

".CalculateArea :: Square (5)."

";
ozvěna "

".CalculateArea :: Rectangle (200,200)."

";
ozvěna "

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

";

10. Přidejte následující trasu v web.php pro přístup k přístupu k index() metoda FacadeController.

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

11. Spusťte následující adresu URL z prohlížeče a zkontrolujte, zda trasa funguje.

http: // localhost / laravelpro / public / CalcArea

Pokud trasa funguje správně, zobrazí se následující výstup.

Závěr

Funkci popsanou v tomto článku lze použít na různých místech, jako je ovladač nebo trasa Laravelu, pomocí fasády. To usnadňuje vývojovou úlohu. Použití integrovaných i uživatelem definovaných fasád je v tomto kurzu vysvětleno pomocí vhodných příkladů. Použití vestavěné fasády, DB, se zobrazuje pomocí ovladače. Použití vlastní fasády, CalculateArea, se zobrazuje pomocí trasy a ovladače. Tento výukový program vysvětlil koncept použití fasády, aby pomohl vývojářům Laravelu použít ji ve svých projektech na základě jejich konkrétních požadavků.

Hry Jak zobrazit počítadlo FPS v linuxových hrách
Jak zobrazit počítadlo FPS v linuxových hrách
Hraní na Linuxu získalo velký tlak, když společnost Valve v roce 2012 oznámila podporu systému Linux pro klienta Steam a jejich hry. Od té doby se mno...
Hry Jak stáhnout a přehrát Sid Meier's Civilization VI v systému Linux
Jak stáhnout a přehrát Sid Meier's Civilization VI v systému Linux
Úvod do hry Civilization 6 je moderní pojetí klasického konceptu představeného v sérii her Age of Empires. Myšlenka byla docela jednoduchá; začali bys...
Hry Jak nainstalovat a hrát Doom na Linuxu
Jak nainstalovat a hrát Doom na Linuxu
Úvod do Doom Série Doom vznikla v 90. letech po vydání původního Doomu. Byl to okamžitý hit a od té doby herní série získala řadu ocenění a původní Do...