我想知道如何做一个全局变量来为我节省几行复制和粘贴这些行。可能将它排列起来并将它们放在一个变量中?我想在其他路由中使用这个变量。
$providerEmail = Auth::user()->email;
$providerName = Auth::user()->first_name;
$providerSurname = Auth::user()->last_name;
$providerMobile = Auth::user()->mobile;
最佳答案
你可以在 App::before
事件中创建一个全局的 singleton
App::before(function($request)
{
// Singleton (global) object
App::singleton('myApp', function(){
$app = new stdClass;
if (Auth::check()) {
// Put your User object in $app->user
$app->user = Auth::User();
$app->isLoggedIn = TRUE;
}
else {
$app->isLoggedIn = FALSE;
}
return $app;
});
$app = App::make('myApp');
View::share('myApp', $app);
});
在任何 View 中,像使用它一样
if($myApp->isLoggedIn) {
$myApp->user->email;
$myApp->user->first_name;
// ...
}
在任何 Controller 中,你都可以使用
$myApp = App::make('myApp');
if($myApp->isLoggedIn) {
$myApp->user->email;
$myApp->user->first_name;
// ...
}
查看 Application Events .
关于php - laravel 4 中的全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19952572/