我有一个自定义的Blade指令,我试图从中将Blade语法@include()
的一部分包括在内。问题是我有一个自定义 View namespace :
\Blade::directive('name', function() {
$viewsNamespace = 'viewsNameSpace::';
$formPartial = $viewsNamespace . 'partials._form';
return "{{ @include({$formPartial}) }}";
});
这将输出错误
因为它将
viewsNameSpace::
解释为一个类。这仅输出字符串而不进行解析:
return "@include('{$formPartial}')";
这不会引发任何错误,但不会加载部分错误:
return "{{ @include('{$formPartial}') }}";
请注意,当我在这样的模板中使用时,partial正在工作:
@include('viewsNameSpace::partials._form')
但我无法从指令中使它起作用。
任何帮助和建议,将不胜感激!谢谢!
最佳答案
这就是我的工作方式:return "<?php echo view('$formPartial')->render(); ?>";
其中$formPartial
是'viewsNameSpace::partials._form'
。