我有一个自定义的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'

10-04 17:53