Laravel刀片定制指令包含部分

the*_*len 10 laravel blade laravel-5

我有一个自定义的Blade指令,我试图在其中包含一部分使用Blade语法@include().问题是我有一个自定义视图命名空间:

\Blade::directive('name', function() {
    $viewsNamespace = 'viewsNameSpace::';
    $formPartial = $viewsNamespace . 'partials._form';
    return "{{ @include({$formPartial}) }}";
});
Run Code Online (Sandbox Code Playgroud)

这输出错误,

Class 'viewsNameSpace' not found

因为它的解释viewsNameSpace::是一个阶级.

这只输出字符串而不解析它:

return "@include('{$formPartial}')";
Run Code Online (Sandbox Code Playgroud)

这不是抛出任何错误,但它没有加载部分:

return "{{ @include('{$formPartial}') }}";
Run Code Online (Sandbox Code Playgroud)

请注意,当我在这样的模板中使用时,部分工作正常:

@include('viewsNameSpace::partials._form')
Run Code Online (Sandbox Code Playgroud)

但是我无法从指令中恢复正常.

任何帮助和建议将不胜感激!谢谢!

the*_*len 5

这就是我的工作方式:

return "<?php echo view('$formPartial')->render(); ?>";

哪里$formPartial'viewsNameSpace::partials._form'.