【发布时间】:2016-05-13 21:17:59
【问题描述】:
使用 Laravel Blade,是否有一种优雅的方法可以在执行 @include 之前检查视图是否存在?
例如我目前正在这样做:
@if(View::exists('some-view'))
@include('some-view')
@endif
当“some-view”是一个包含变量的长字符串时,这会变得相当麻烦。
理想情况下,我正在寻找这样的东西:
@includeifexists('some-view')
或者让@include在视图不存在时输出一个空字符串。
顺便说一句,我还想提供一组视图并使用存在的第一个视图,例如:
@includefirstthatexists(['first-view', 'second-view', 'third-view'])
如果不存在,则输出一个空字符串。
我该怎么做呢?我需要扩展 BladeCompiler 还是有其他方法?
【问题讨论】:
-
我 95% 确定您需要为此编写自己的方法,但幸运的是,这很容易:laravel.com/docs/5.1/blade#extending-blade
-
谢谢!我去看看
标签: laravel laravel-5 blade laravel-blade