关于传递默认变量进行查看的问题,要传递所有视图中可用的变量,使用以下内容之间是否存在技术或功能差异View::composer()
:
View::composer('*', function($view) {
$thundercats = 'Woooooohh!!';
$view->with('thundercats', $thundercats);
})
Run Code Online (Sandbox Code Playgroud)
在filters.php文件或使用View::share()
在BaseController.php文件:
public function __construct {
$thundercats = 'Woooooohh!!';
View::share('thundercats', $thundercats);
}
Run Code Online (Sandbox Code Playgroud)
View::share()
虽然我已经开始在另一个项目中使用前者,但我最近才知道并发现它非常有侵略性.
编辑:
我的第一个假设是前者是一个文件(filters.php),而后者是一个类(BaseController.php).考虑到这一点,我猜一个班级好多了?虽然,我现在还不太清楚为什么.:)
tpl*_*ner 18
从技术上讲,它们完全没有相似之处.View::share
只是设置一个变量,View::composer
而是一个回调函数.
让我更详细地解释一下:
View::share
非常简单,它设置了一个可以在任何视图中使用的变量,将其视为全局变量.
View::composer
注册在呈现视图时调用的事件,不要将它与View::creator
实例化视图时触发的事件混淆.
View::composer
/ View::creator
可以用作一个记录良好的类.
虽然这些使您能够将其他数据传递给视图,但它们还使您能够执行许多其他操作,例如,他们可以:
这些只是什么一些例子可以是可能的使用View::composer
和View::creator
.
归档时间: |
|
查看次数: |
9366 次 |
最近记录: |