问题出在标题中。 这就是我的尝试:
MyView
类扩展View
withMyData()
,如下所示:(这只是一个例子。它都以常规方式运作)
$my_data = 'some data';
return $this->with( 'my_data', $my_data );
然后我尝试了:
View::make('some-page')->withMyData();
我收到了这个错误:
ErrorException (E_UNKNOWN)
Undefined offset: 0
TNX
答案 0 :(得分:1)
您肯定选择了错误的方法将内容传递给每个视图。请改用view composers。
View::composer('layout', function($view){
$my_data = 'some data';
$view->with('my_data', $my_data);
});
(layout
将是您的视图的名称。每次渲染时,作曲家都会运行。您还可以使用通配符*
或视图名称数组来定位多个视图。
您可以将此代码放入app / filters.php或创建一个新的app / composers.php,并将其包含在app / start / global.php的末尾,其中包含:
require app_path().'/composers.php';
您已经可以使用with*
替代with('*'
。所以:
$view->with('my_data', $my_data);
可以写成:
$view->withMyData($my_data);