Facciata Laravel

Facciata Laravel
Il contenitore del servizio Laravel consente all'utente di avviare classi di alias. Il modo per accedere al contenitore del servizio Laravel è chiamato facciata. Laravel contiene molte facciate integrate per accedere a diverse caratteristiche di Laravel. La facciata viene utilizzata in Laravel per rendere l'applicazione più verificabile, flessibile e più semplice. Tutte le facciate incorporate sono definite nello spazio dei nomi Illuminate \ Support \ Facedes. Questo tutorial mostra come creare e utilizzare le facciate incorporate di Laravel.

Uso di facciate integrate

È necessario creare un controller per utilizzare qualsiasi facciata integrata. Esegui il comando seguente per creare un controller denominato TestController.

Modificare il TestController con il seguente codice per mostrare l'uso della facciata integrata Db. Questa facciata viene utilizzata per eseguire tutti i tipi di operazioni di database. Nel seguente codice, tutti i record della tabella dell'utente verranno recuperati utilizzando il Db facciata. L'output verrà stampato come array dopo aver eseguito il codice.

TestController.PHP:

APPPACE NAME \ HTTP \ Controller;
Usa Illuminate \ http \ richiesta;
usare db;
TestController di classe estende il controller

indice della funzione pubblica ()

$ utenti = db :: select ('select * from Users');
echo print_r ($ utenti);

Aggiungi il seguente percorso nel ragnatela.PHP file. Questo chiamerà il indice() metodo TestController per il percorso '/test.'

Route :: get ('/test', 'testcontroller@indice');

Esegui il seguente URL dal browser.

http: // localhost/laravelpro/public/test

Crea una facciata

Seguire i passaggi seguenti per creare una facciata personalizzata in Laravel.

1. Crea una cartella denominata La zona Sotto l'applicazione cartella e crea un file denominato La zona.PHP sotto questa cartella con il seguente codice. In classe sono definiti quattro metodi per calcolare l'area di un cerchio, quadrato, rettangolo e triangolo. Cerchio() Prenderà il valore del raggio come parametro per calcolare l'area. Piazza() Prenderà la lunghezza di ciascun lato del quadrato come parametro per calcolare l'area. Rettangolo() richiederà l'altezza e la larghezza come parametri per calcolare l'area. Triangolo() Prenderà i valori di base e altezza del triangolo per calcolare l'area.

Appspace app \ area;
area di classe

Circolo della funzione pubblica ($ raggio)

restituire "l'area del cerchio è".(3.14*$ raggio*$ raggio);

Public Function Square ($ Len)

restituire "l'area di sqaure è".($ len*$ len);

Rettangolo della funzione pubblica ($ altezza, $ larghezza)

restituire "l'area del rettangolo è".($ altezza*$ larghezza);

Triangolo della funzione pubblica ($ base, $ altezza)

restituire "l'area del triangolo è".(0.5*$ base*$ altezza);

2. Aggiungi i seguenti percorsi per accedere ai metodi del La zona classe. Qui, quando l'utente tipi 'la zona'Dopo l'URL di base, un oggetto del La zona la classe verrà definita e i quattro metodi di questa classe sono chiamati con i valori dei parametri. Ma, se si desidera accedere ai metodi della classe direttamente come una facciata senza creare l'oggetto, verrà generato un errore. I prossimi passaggi mostrano come creare una facciata per accedere direttamente ai metodi di questa classe.

utilizzare l'app \ area \ area;
Route :: get ('/area', function ()
$ area = new Area ();
Echo $ Area-> Circle (3)."
";
Echo $ Area-> Square (4)."
";
Echo $ area-> rettangolo (100.200)."
";
Echo $ area-> triangolo (10,5)."
";
);

3. Esegui il seguente URL dal browser per verificare se il percorso funziona.

http: // localhost/laravelpro/public/area

La seguente uscita apparirà se il percorso funziona correttamente.

4. Crea una cartella denominata Facciate sotto il app cartella e crea un file denominato Calcolatearea.PHP con il seguente codice. Qui, il getFacadeAccessor () Il metodo è definito all'interno Calcolatearea Per restituire la stringa cal_area usato per legare il La zona classe.

namespace app \ facciate;
Class CalculateArea estende \ illuminate \ support \ facciate \ facciata

Funzione statica pubblica GetFacadeAccessor ()

restituire 'cal_area';

5. Aprire ragnatela.PHP e aggiungere il seguente codice per vincolare il file La zona classe con Calcolatearea Classe facciata dalla stringa cal_area.

app ()-> bind ('cal_area', function ()
restituire nuovo \ app \ area \ area;
);

6. Apri il app.PHP file sotto il configurazione cartella. Vai alla sezione Aray Alias ​​e aggiungi la riga seguente alla fine dell'array. Questo definisce Calcolatearea come indice di array e il valore è la classe di facciata definita sotto /app/facciata cartella. Ora puoi accedere ai metodi del La zona classe come facciata senza creare alcun oggetto.

'Calcolatearea' => app \ facciate \ calcolatearea :: class,

7. Aggiungi il seguente percorso nel ragnatela.PHP file per accedere ai metodi del La zona classe usando il Calcolatearea facciata.

Route :: get ('/calarea', function ()
echo calcolatearearea :: cerchio (3)."
";
echo calcolatearearea :: Square (4)."
";
echo calcolatearearea :: rettangolo (100.200)."
";
Echo Calculatearea :: Triangle (10,5)."
";
);

8. Esegui il seguente URL dal browser per verificare se il percorso funziona.

http: // localhost/laravelpro/public/calarea

La seguente uscita apparirà se il percorso funziona correttamente.

9. Puoi anche usare il Calcolatearea facciata come una facciata integrata in qualsiasi controller. Esegui il comando seguente per creare un controller denominato FaceController dove il Calcolatearea la facciata verrà applicata.

$ PHP Artisan Make: Controller FacadeController

Modifica il controller con il seguente codice, in cui il Calcolatearea la facciata viene importata e il indice() Il metodo viene aggiunto all'interno del controller. Quando il indice() il metodo è chiamato, i quattro metodi del La zona la classe verrà chiamata e le uscite formattate verranno stampate utilizzando CSS.

APPPACE NAME \ HTTP \ Controller;
Usa Illuminate \ http \ richiesta;
Usa Calculatearea;
Class FacadeController estende il controller

indice della funzione pubblica ()

eco "

".Calcolatearea :: cerchio (5)."

";
eco "

".Calcolatearea :: Square (5)."

";
eco "

".Calcolatearea :: Rettangolo (200.200)."

";
eco "

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

";

10. Aggiungi il seguente percorso in ragnatela.PHP Per accedere ad accedere al file indice() metodo di FaceController.

Route :: get ('CalculateEarea', 'fadeController@index');

11. Esegui il seguente URL dal browser per verificare se il percorso funziona.

http: // localhost/laravelpro/public/calcolaearea

La seguente uscita apparirà se il percorso funziona correttamente.

Conclusione

La funzione discussa in questo articolo può essere utilizzata in diversi luoghi, come il controller o la via di Laravel, usando la facciata. Questo semplifica il compito di sviluppo. Gli usi delle facciate integrate e definite dall'utente sono spiegati in questo tutorial utilizzando esempi appropriati. L'uso di una facciata integrata, Db, viene mostrato usando un controller. L'uso di una facciata personalizzata, Calcolatearea, viene mostrato usando un percorso e un controller. Questo tutorial ha spiegato il concetto di utilizzare una facciata per aiutare gli sviluppatori di Laravel ad applicarlo nei loro progetti, in base ai loro requisiti specifici.