Chi*_*iko 5 php laravel laravel-routing laravel-5.2
如何确保通过视图编辑器为选择视图加载数据,并且只排除几个特定的两个视图?我可以使用正则表达式而不是“*”吗?
public function boot()
{
view()->composer(
'*',
'App\Http\ViewComposers\ProfileComposer'
);
}
Run Code Online (Sandbox Code Playgroud)
我只想避免两个视图,它们扩展了其他人使用的相同刀片,不确定宣布所有 99 个其他视图将是最好的-如果我能定义要排除的那些,那就太好了。
也许这不是最好的方法,但它可以这样做
在您的服务提供商中注册您的视图编辑器
public function boot()
{
view()->composer(
'*',
'App\Http\ViewComposers\ProfileComposer'
);
}
Run Code Online (Sandbox Code Playgroud)
在您的ProfileComposer撰写方法中,视图类存储库是类型提示的。使用它来获取视图当前名称的名称,并为排除的视图名称设置条件。
class ProfileComposer
{
public function __construct()
{
// Dependencies automatically resolved by service container...
}
/**
* Bind data to the view.
*
* @param View $view
* @return void
*/
public function compose(View $view)
{
$excludedViews = ['firstView','SecondView'];
//Check if current view is not in excludedViews array
if(!in_array($view->getName() , $excludedViews))
{
$view->with('dataName', $this->data);
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1767 次 |
| 最近记录: |