Fachada de Laravel

Fachada de Laravel
El contenedor de servicio Laravel permite al usuario iniciar clases por alias. La forma de acceder al contenedor de servicio Laravel se llama fachada. Laravel contiene muchas fachadas incorporadas para acceder a diferentes características de Laravel. La fachada se usa en Laravel para hacer que la aplicación sea más comprobable, flexible y más simple. Todas las fachadas incorporadas se definen en el espacio de nombres Iluminar \ soporte \ fachadas. Este tutorial muestra cómo crear y usar fachadas incorporadas de Laravel.

Uso de fachadas incorporadas

Debe crear un controlador para usar cualquier fachada incorporada. Ejecute el siguiente comando para crear un controlador llamado TestController.

Modificar el TestController con el siguiente código para mostrar el uso de la fachada incorporada Db. Esta fachada se utiliza para hacer todo tipo de operaciones de bases de datos. En el siguiente código, todos los registros de la tabla del usuario se recuperarán utilizando el Db fachada. La salida se imprimirá como una matriz después de ejecutar el código.

TestController.PHP:

APLICACIÓN DEL PAGO DE NAME \ HTTP \ Controllers;
use iluminar \ http \ solicitud;
usar db;
clase TestController extiende el controlador

índice de funciones públicas ()

$ users = db :: select ('Seleccionar * de los usuarios');
echo print_r ($ ussers);

Agregue la siguiente ruta en el web.php archivo. Esto llamará al índice() método TestController para la ruta '/prueba.'

Ruta :: get ('/test', 'testController@index');

Ejecute la siguiente URL desde el navegador.

http: // localhost/laravelpro/public/test

Crear una fachada

Siga los pasos a continuación para crear una fachada personalizada en Laravel.

1. Crea una carpeta llamada Área bajo la aplicación carpeta y crear un archivo llamado Área.php debajo de esta carpeta con el siguiente código. Se definen cuatro métodos en la clase para calcular el área de un círculo, cuadrado, rectángulo y triángulo. Círculo() tomará el valor de radio como parámetro para calcular el área. Cuadrado() Tomará la longitud de cada lado del cuadrado como parámetro para calcular el área. Rectángulo() Tomará la altura y el ancho como parámetros para calcular el área. Triángulo() tomará los valores de base y altura del triángulo para calcular el área.

Aplicación de espacio de nombres \ Área;
área de clase

Círculo de funciones públicas ($ Radius)

Devolver "El área del círculo es".(3.14*$ radio*$ radio);

Función pública Square ($ Len)

Devolver "El área de Sqaure es".($ Len*$ Len);

rectángulo de función pública ($ altura, $ ancho)

devolver "El área del rectángulo es".($ altura*$ ancho);

Triángulo de función pública ($ base, $ altura)

regresar "El área del triángulo es".(0.5*$ base*$ altura);

2. Agregue las siguientes rutas para acceder a los métodos de la Área clase. Aquí, cuando el usuario tipos 'área'Después de la URL base, un objeto de la Área se definirá la clase, y los cuatro métodos de esta clase se llaman con valores de parámetros. Pero, si desea acceder a los métodos de la clase directamente como una fachada sin crear el objeto, se generará un error. Los siguientes pasos le muestran cómo crear una fachada para acceder directamente a los métodos de esta clase.

Use App \ Area \ Area;
Ruta :: get ('/área', function ()
$ área = nuevo área ();
echo $ área-> círculo (3)."
";
echo $ área-> cuadrado (4)."
";
echo $ área-> rectángulo (100,200)."
";
echo $ área-> triángulo (10,5)."
";
);

3. Ejecute la siguiente URL del navegador para verificar si la ruta está funcionando.

http: // localhost/laravelpro/público/área

La siguiente salida aparecerá si la ruta funciona correctamente.

4. Crea una carpeta llamada Fachadas bajo la aplicación carpeta y crear un archivo llamado Calculatearea.php Con el siguiente código. Aquí el getFacadeAcCesor () El método se define dentro Calculatearea Para devolver la cadena Cal_area utilizado para unir el Área clase.

Aplicación de espacio de nombres \ fachadas;
Classatearea de clase se extiende \ Illuminate \ Support \ fachadas \ fachada

función estática pública getFacadeAcCesor ()

return 'cal_area';

5. Abierto web.php y agregue el siguiente código para vincular el Área clase con Calculatearea clase de fachada por la cadena Cal_area.

app ()-> bind ('cal_area', function ()
devolver nuevo \ app \ área \ área;
);

6. Abre el aplicación.php archivo bajo el configuración carpeta. Vaya a la sección de matriz de alias y agregue la siguiente línea al final de la matriz. Esto define Calculatearea Como índice de matriz y el valor es la clase de fachada que se define bajo el /aplicación/fachada carpeta. Ahora, puede acceder a los métodos de la Área clase como una fachada sin crear ningún objeto.

'Calculatearea' => App \ fachades \ Calculatearea :: Clase,

7. Agregue la siguiente ruta en el web.php archivo para acceder a los métodos del Área clase usando el Calculatearea fachada.

Ruta :: get ('/calarea', function ()
echo calculatearea :: círculo (3)."
";
echo calculatearea :: cuadrado (4)."
";
echo calculatearea :: rectángulo (100,200)."
";
echo calculatearea :: triángulo (10,5)."
";
);

8. Ejecute la siguiente URL del navegador para verificar si la ruta está funcionando.

http: // localhost/laravelpro/public/calarea

La siguiente salida aparecerá si la ruta funciona correctamente.

9. También puedes usar el Calculatearea fachada como una fachada incorporada en cualquier controlador. Ejecute el siguiente comando para crear un controlador llamado Facadecontrolador donde el Calculatearea Se aplicará fachada.

$ PHP Artisan Make: Controlador facadecontroller

Modifique el controlador con el siguiente código, donde el Calculatearea la fachada se importa y el índice() Se agrega método dentro del controlador. Cuando el índice() se llama método, los cuatro métodos del Área Se llamará a la clase y las salidas formateadas se imprimirán utilizando CSS.

APLICACIÓN DEL PAGO DE NAME \ HTTP \ Controllers;
use iluminar \ http \ solicitud;
usar calculatearea;
La clase facadecontroller extiende el controlador

índice de funciones públicas ()

eco "

".Calculatearea :: Circle (5)."

";
eco "

".Calculatearea :: Square (5)."

";
eco "

".Calculatearea :: Rectángulo (200,200)."

";
eco "

".Calculatearea :: Triángulo (15,5)."

";

10. Agregue la siguiente ruta en web.php Para acceder a acceder al índice() método de Facadecontrolador.

Ruta :: get ('Calculatearea', 'facadeController@index');

11. Ejecute la siguiente URL del navegador para verificar si la ruta está funcionando.

http: // localhost/laravelpro/public/calculatearea

La siguiente salida aparecerá si la ruta funciona correctamente.

Conclusión

La característica discutida en este artículo se puede utilizar en diferentes lugares, como el controlador o la ruta de Laravel, mediante el uso de fachada. Esto facilita la tarea de desarrollo. Los usos de las fachadas incorporadas y definidas por el usuario se explican en este tutorial mediante el uso de ejemplos apropiados. El uso de una fachada incorporada, Db, se muestra usando un controlador. El uso de una fachada personalizada, Calculatearea, se muestra usando una ruta y un controlador. Este tutorial explicó el concepto de usar una fachada para ayudar a los desarrolladores de Laravel a aplicarla en sus proyectos, en función de sus requisitos específicos.