【发布时间】:2015-01-01 22:47:34
【问题描述】:
我创建了一个名为 (head.blade.php) 的视图,并尝试使用 View::make() 函数将其加载到 HomeController __construct 函数中。但是,该函数有效,但不适用于变量。
例如这里的函数,带有View::make():
public function __construct() {
$this->asset = new Asset;
$assets = array('core');
$css = $this->asset->generate($assets);
return View::make('includes.head')->with('styles', $css);
}
如果我尝试在视图中使用 $styles 变量,它会给我错误:(Undefined variable $styles in...-)
但是,在 Laravel 文档中我发现了这种方法:
public function __construct() {
$this->asset = new Asset;
$assets = array('core');
$css = $this->asset->generate($assets);
View::creator('includes.head', function($view) use ($css) {
$view->with('styles', $css);
});
}
View::creator 方法有效。
我的问题是,View::make() 如何以及为什么在 __construct 中不起作用?
PS。我正在使用@include 方法在另一个视图中调用视图。
【问题讨论】: