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 FacadeControllerUpravte 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ů.