我有一个自定义 Blade 指令,我试图从中包含使用 Blade 语法 @include()
的部分内容。问题是我有一个自定义 View 命名空间:
\Blade::directive('name', function() {
$viewsNamespace = 'viewsNameSpace::';
$formPartial = $viewsNamespace . 'partials._form';
return "{{ @include({$formPartial}) }}";
});
这会输出错误,
Class 'viewsNameSpace' not found
因为它将 viewsNameSpace::
解释为一个类。
这仅输出字符串而不解析它:
return "@include('{$formPartial}')";
这不会引发任何错误,但不会加载部分内容:
return "{{ @include('{$formPartial}') }}";
请注意,当我在这样的模板中使用 in 时,部分正在工作:
@include('viewsNameSpace::partials._form')
但我无法让它按照指令工作。
如有任何帮助和建议,我们将不胜感激!谢谢!
最佳答案
这就是我让它工作的方式:
return "<?php echo view('$formPartial')->render(); ?>";
哪里$formPartial
是 'viewsNameSpace::partials._form'
。
关于Laravel Blade 自定义指令包含部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38845341/