Crea tus propias Facades en Laravel

Fecha de publicación: junio 13, 2021

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn
Share on google
Google+
Share on whatsapp
WhatsApp
Share on email
Email

Según la Wikipedia el patrón Facade (Fachada) es un tipo de patrón de diseño estructural que viene motivado por la necesidad de estructurar un entorno de programación y reducir su complejidad con la división en subsistemas, minimizando las comunicaciones y dependencias entre estos.

Casos de uso

Se aplicará el patrón Facade cuando se necesite proporcionar una interfaz simple para un subsistema complejo, o cuando se quiera estructurar varios subsistemas en capas, ya que las fachadas serían el punto de entrada a cada nivel. Otro escenario proclive para su aplicación surge de la necesidad de desacoplar un sistema de sus clientes y de otros subsistemas, haciéndolo más independiente, portable y reutilizable (esto es, reduciendo dependencias entre los subsistemas y los clientes).

Crear Facades en Laravel paso a paso

Lo primero que necesitamos es crear una clase que contenga la lógica que nuestra fachada necesita, en este caso vamos el siguiente archivo (fíjate en los namespaces).

Ahora vamos a crear un ServiceProvider para registrar nuestra lógica.

Es importante que te fijes la key de la propiedad bindings.

Ahora registramos nuestro ServiceProvider en el archivo config/app.php.

Crea una Facade que nos ofrezca acceso a nuestra clase Cursosdesarrolloweb.

Es necesario definir el método estático getFacadeAccessor retornando el nombre que utilizamos más arriba en nuestro provider (bindings).

Registra la Facade en el archivo config/app.php.

La clave Cursosdesarrolloweb es el nombre a través del que podemos acceder a nuestra clase Cursosdesarrolloweb, fíjate:

¡BRUTAL!

¿Quieres acceder a más de 150 cursos de PHP y JavaScript?

¿Quieres ganar tiempo en tus desarrollos con nuestros proyectos descargables?


Vue, Laravel, Inertia, NodeJS, WordPress, Serverless, React Native, Amazon Web Services y mucho más

Hazte Premium y consigue acceso completo
Cursosdesarrolloweb ©. Todos los derechos reservados.

Login

Create an Account Back to login/register