laravel

Fachada Laravel

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

Uso de fachadas empotradas

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 realizar todo tipo de operaciones en 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:

espacio de nombres App \ Http \ Controllers;
use Illuminate \ Http \ Request;
utilizar DB;
clase TestController extiende Controller

índice de función pública ()

$ usuarios = DB :: select ('seleccionar * de usuarios');
echo print_r ($ usuarios);

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

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

Ejecute la siguiente URL desde el navegador.

http: // localhost / laravelpro / public / test

Crea una fachada

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

1. Crea una carpeta llamada Área debajo la aplicación carpeta y cree un archivo llamado Área.php en 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. Circulo() tomará el valor del 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 la base y la altura del triángulo para calcular el área.

espacio de nombres App \ Area;
área de clase

Círculo de función pública ($ radio)

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

Plaza de funciones públicas ($ len)

return "El área de sqaure es".($ len * $ len);

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

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

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

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

2. Agregue las siguientes rutas para acceder a los métodos del Área clase. Aquí, cuando el usuario escribe 'á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 llamarán con valores de parámetro. 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 ('/ area', function ()
$ área = nueva área ();
echo $ area-> Circle (3)."
";
echo $ area-> Cuadrado (4)."
";
echo $ area-> Rectángulo (100,200)."
";
echo $ área-> Triángulo (10,5)."
";
);

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

http: // localhost / laravelpro / public / area

La siguiente salida aparecerá si la ruta funciona correctamente.

4. Crea una carpeta llamada Fachadas bajo la aplicación carpeta y cree un archivo llamado CalculateArea.php con el siguiente código. Aquí el getFacadeAccessor () el método está definido dentro CalculateArea para devolver la cadena cal_area utilizado para unir el Área clase.

espacio de nombres App \ Facades;
class CalculateArea extiende \ Illuminate \ Support \ Facades \ Facade

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

return 'cal_area';

5. Abierto web.php y agregue el siguiente código para enlazar el Área clase con CalculateArea clase de fachada por la cuerda cal_area.

app () -> bind ('cal_area', function ()
return new \ App \ Area \ Area;
);

6. Abre el aplicación.php archivo bajo el config 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 un índice de matriz y el valor es la clase de fachada que se define en el /aplicación/fachada carpeta. Ahora, puede acceder a los métodos del Área clase como fachada sin crear ningún objeto.

'CalculateArea' => Aplicación \ Fachadas \ 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 :: Circle (3)."
";
echo CalculateArea :: Cuadrado (4)."
";
echo CalculateArea :: Rectangle (100,200)."
";
echo CalculateArea :: Triángulo (10,5)."
";
);

8. Ejecute la siguiente URL desde el 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 puede utilizar el CalculateArea fachada como una fachada incorporada en cualquier controlador. Ejecute el siguiente comando para crear un controlador llamado FacadeController donde el CalculateArea se aplicará la fachada.

$ php artisan make: controlador FacadeController

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

espacio de nombres App \ Http \ Controllers;
use Illuminate \ Http \ Request;
use CalculateArea;
clase FacadeController extiende Controller

índice de función pública ()

eco "

".CalculateArea :: Circle (5)."

";
eco "

".CalculateArea :: Cuadrado (5)."

";
eco "

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

";
eco "

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

";

10. Agregue la siguiente ruta en web.php para acceder para acceder a la índice() método de FacadeController.

Route :: get ('calculateArea', '[correo electrónico protegido]');

11. Ejecute la siguiente URL desde el 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 la fachada. Esto facilita la tarea de desarrollo. Los usos de las fachadas integradas y definidas por el usuario se explican en este tutorial utilizando 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, según sus requisitos específicos.

OpenTTD frente a Simutrans
Crear su propia simulación de transporte puede ser divertido, relajante y extremadamente atractivo. Es por eso que debes asegurarte de probar tantos j...
Tutorial de OpenTTD
OpenTTD es uno de los juegos de simulación empresarial más populares que existen. En este juego, necesitas crear un maravilloso negocio de transporte....
SuperTuxKart para Linux
SuperTuxKart es un gran título diseñado para ofrecerte la experiencia Mario Kart de forma gratuita en tu sistema Linux. Es bastante desafiante y diver...