我正在尝试做一个view::share('current_user', Auth::User());,但是在laravel 5中我找不到在哪里这样做,在L4中,您可以在baseController中这样做,但是这个已经不存在了。
葛兰
发布于 2014-10-09 11:03:51
首先,您可能可以创建自己的BaseController并在其他控制器中扩展它。
第二件事是,您可以在视图中直接使用Auth:user(),您不需要在视图中分配任何内容。
对于其他用法,您可以转到app/Providers/App/ServiceProvider.php,在boot方法中可以使用View::share('current_user', Auth::User());,但当然需要首先添加导入名称空间:
use View;
use Auth;因为该文件位于App\Providers命名空间中。
发布于 2015-04-23 08:35:47
我使用的是Laravel5.0.28,view::share('current_user', Auth::User())不再工作了,因为这个问题https://github.com/laravel/framework/issues/6130
相反,我要做的是,首先使用手工创建一个新的服务提供商。
php artisan make:provider ComposerServiceProvider然后将ComposerServiceProvider添加到config/app.php提供程序数组中
//...
'providers' => [
//...
'App\Providers\ComposerServiceProvider',
]
//...然后打开刚刚创建的app/Providers/ComposerServiceProvider.php,在引导方法中添加以下内容
/**
* Bootstrap the application services.
*
* @return void
*/
public function boot()
{
View::composer('*', function($view)
{
$view->with('current_user', Auth::user());
});
}最后,导入View和Auth外观
use Auth, View;有关更多信息,请参阅http://laravel.com/docs/5.0/views#view-composers
发布于 2015-06-25 03:05:06
在Laravel 5中,使用与laravel 4相同的方法:
View::share('current_user', Auth::User());或者使用视图助手:
view()->share('current_user', Auth::User());见http://laravel.com/docs/5.0/views
https://stackoverflow.com/questions/26275820
复制相似问题