Laravel nos ofrece varias alternativas para trabajar con las clases que se encuentran en el contenedor de inyección de dependencias de la aplicación. Esto a través de la inyección de dependencias, usando Facades o por medio de helpers. En esta lección haremos un repaso del uso de cada una de estas opciones y conoceremos sus diferencias. Además conoceremos cómo usar el nuevo helper de cache.

Notas

Por Clemir Rondón

Un helper es una función de ayuda que realiza un procedimiento específico y puede usarse en cualquier parte de la aplicación.

Como ejemplo podemos usar un helper para llamar una vista desde un controlador por medio del helper view():

Puedes revisar los helpers disponibles en Laravel y cómo funcionan en:

Un facade, en cambio, es una interfaz estática que provee acceso a un objeto de una clase que se encuentra disponible en el contenedor de inyección de dependencias de la aplicación.

Si se trabaja con Facades en una clase que tiene un namespace o nombre de espacios se debe importar la clase del Facade o usar una barra invertida \ para que la aplicación busque la clase en el namespace global. En el archivo config/app.php se encuentran los alias de clases de los Facades usados por la aplicación.

Como ejemplo para hacer el mismo llamado de la vista a través de un controlador pero usando el Facade View:

En caso que quieres estudiar a profundidad los Facade de Laravel consulta la documentación oficial. De igual forma en Styde hemos explicado este tema en detalle:

La inyección de dependencias por otro lado, es un patrón de diseño orientado a objeto que nos permite escribir código desacoplado y por tanto reusable.

Como ejemplo pero ahora usando inyección de dependencias:

Te invitamos a revisar el contenido de los cursos que ofrecemos en Styde, donde no solo aprenderás a escribir código más eficiente, reusable y fácil de mantener sino que te ayudarán a entender cómo funcionan los frameworks de desarrollo modernos como Laravel:

En Laravel 5.2 y versiones anteriores la manera de trabajar con Cache era a través de Facade o la inyección de dependencias pero ahora en Laravel 5.3 tenemos disponible el helper cache por lo cual puedes en vez de hacer:

puedes usar el helper para crear:

y para obtener el valor:

Material relacionado

Únete a la discusión

Regístrate en Styde y obtén una invitación a nuestro Slack.

Lección anterior Uso avanzado del método where en las Colecciones en Laravel 5.3 Lección siguiente Cambios en el método firstOrCreate de Eloquent en Laravel 5.3