我正在尝试在laravel中编写一个自定义指令。但是,它仅以字符串的形式返回 Blade 的部分路径,而不是像@include一样的实际html。

@customInclude('authenticated/partials/header2')


    Blade::directive('customInclude', function($partial){
        if(Config::get('constants.ORG_ID') === 'organizationId'){
            return "<?php echo $partial; ?>";
        }
    });

我希望自定义指令返回在路径“authenticated/partials/header2”中找到的html,但是,似乎 Blade 无法识别该路径是我的php中的路径。我的自定义指令位于AppServiceProvider.php文件btw中。有谁知道@include的工作原理真的很好,所以他们可以解释为什么我的路径未被识别。

最佳答案

很酷的问题,花了一些时间,但是您可以很容易地复制laravel所做的事情:

Blade::directive('customInclude', function($partial){
    if(Config::get('constants.ORG_ID') === 'organizationId'){
        return "<?php echo view($partial); ?>";
    }
});

关于php - @include如何在laravel中工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38601054/

10-13 04:47