我有laravel 5.3项目我试图与所有观点分享。所以我在尝试这个..在AppServiceProviders中这是引导功能
View::share('path', '/final/public/');
好的工作..但是我想做的是与所有视图(如计数模型记录)共享变量我的意思是这样..
$items = Item::get();
View::share('variable',$items);
,但没有任何东西。所以我试图把它放在这堂课上。
class Controller extends BaseController
{
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
private $itemss;
public function __construct()
{
$this->middleware(function ($request, $next) {
$this->itemss = Item::get();
view()->share('itemss', $this->itemss);
});
}
}
,我gat相同的错误
ErrorException in 4f8648bebb04d05a1427fdfec486dd0221e1b875.php line 235:
Undefined variable: itemss (View:
E:AppServwwwfinalresourcesviewslayoutsadminmaster.blade.php) (View:
E:AppServwwwfinalresourcesviewslayoutsadminmaster.blade.php)
您可能需要使用use
关键字扩展变量的范围。
public function __construct()
{
$this->middleware(function ($request, $next) use ($itemss) {
$this->itemss = Item::get();
view()->share('itemss', $this->itemss);
});
}
来自文档:
闭合封装了其范围,这意味着它无法访问 定义或执行的范围。但是,有可能 继承来自父范围的变量(定义闭合的位置) 使用使用关键字
进入关闭