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():

public function index()
{
     return view('home');
}

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:

public function index()
{
     return \View::make('home');
}

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:

//no olvides importar la clase al controlador
//use Illuminate\View\Factory;

public function index(Factory $view)
{
    return $view->make('home');
}

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:

\Cache::put('message','Esto es un mensaje', 5);
\Cache::get('message');

puedes usar el helper para crear:

cache()->put('message', 'Esto es un mensaje', 5);
cache(['message' => 'Esto es un mensaje'], 5);

y para obtener el valor:

cache('message');
cache()->get('message');

Material relacionado

Únete a nuestra comunidad en Discord y comparte con los usuarios y autores de Styde, 100% gratis.

Únete hoy

Regístrate hoy en Styde y obtén acceso a todo nuestro contenido.

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