Compartir una variable entre diferentes vistas en Blade

Laravel nos provee de una forma muy sencilla de crear variables globales que están accesibles desde cualquier componente Blade que creemos en el proyecto.

Compartir una variable entre diferentes vistas en Blade
Photo by Microsoft 365 / Unsplash

Laravel nos provee de una forma muy sencilla de crear variables globales que están accesibles desde cualquier componente Blade que creemos en el proyecto.

Por ejemplo, imagina que queremos compartir el usuario actual como una variable global $user disponible en Blade.Para ello, en alguna parte de nuestro código (un middleware, controller o un provider), tenemos que añadir un código similar a este:

class AppServiceProvider extends ServiceProvider
{
	/**
	 * Bootstrap any application services.
	 *
	 * @return void
	 */
	public function boot()
	{
		$user = auth()->user();
		view()->share('user', $user);
	}
}

Y ya está :-) Solo con llamar a view()→share($variableName, $value) podemos compartir variables entre distintos Blade.