Php 我正在尝试使用View::share调用控制器操作
当用户登录时,我试图向每个视图传递一个变量,并将该操作放在我的Php 我正在尝试使用View::share调用控制器操作,php,laravel,Php,Laravel,当用户登录时,我试图向每个视图传递一个变量,并将该操作放在我的routes.php文件中 //functions only execute when the user is logged in Route::group(array('before' => 'auth'), function(){ View::share('ctxr', 'user is authenticated'); }); 我目前使用的是Laravel 4.2,使用的是一个静态变量,share函
routes.php
文件中
//functions only execute when the user is logged in
Route::group(array('before' => 'auth'), function(){
View::share('ctxr', 'user is authenticated');
});
我目前使用的是Laravel 4.2
,使用的是一个静态变量,share函数按预期工作。如果我从任何部分或视图调用{{$ctxr}
,它会正确显示,但问题是,当我在basecontroller
上执行操作时,我正在考虑执行类似的操作:
View::share('ctxr', BaseController@getStatistics);
它返回生成到每个视图的统计信息。但是我一直遇到一个错误,请问从View::share
函数调用控制器函数的最佳方式是什么。我试图避免使用会话,因为Laravel
已经提供了此功能
非常感谢。第二个参数必须是字符串或数组。据我所知,回调函数不起作用。但您可以做的是将返回值赋给变量并传递:
Route::group(array('before' => 'auth'), function(){
$bc = new BaseController();
$stats = $bc->getStatistics();
// Or if getStatistics is defined as a static function
$stats = BaseController::getStatistics();
View::share('ctxr', $stats);
});
您遇到了什么错误?我一发布此消息,就尝试将该方法转换为静态函数,并调用它::'View::share('ctxr',BaseController::getStats());'它成功了。。。用静态方法。。。。经过这么多的考验……谢谢,我喜欢你的方法我会这么做的,谢谢。