Laravel Blade 自定义指令包含部分

标签 laravel laravel-5 laravel-blade

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

相关文章:

jenkins - "@"字符制作 Jenkins 错误无法解析文件

php - 在 Laravel 5.1 上断言验证错误

php - Laravel:如何在没有数据库的情况下对用户进行身份验证

laravel - 如何在不使用 php artisan serve 的情况下在 localhost 上运行 laravel 5.0 项目

php - 如何使用 Laravel 将数据加载到 Select2

javascript - Laravel - asset() 函数运行不正常

mysql - Laravel 按关系属性订购数据

php - Laravel - 如何在 $query 函数中定义变量?

php - 远程 MySQL 数据库连接 Laravel 5 不工作

php - Laravel:在多对多关系中获取不相关的项目