php – Laravel 5 Blade自定义指令 – 麻烦传递变量

我正在尝试创建一个Blade指令,它将在我的表行上设置一个类,具体取决于传入的内容.问题是,当我调用它时,变量的值没有被传入 – 我有的文字字符串括号之间是.

在我看来:

@row($inspection->inspection_disposition)

在指令中:

 Blade::directive('row', function($data)
    {
        var_dump($data);
           .
           .
           .
     }

我在转储中看到的是:

string(37) “($inspection->inspection_disposition)”

我不应该看到该变量的值吗?这就是我想要的.我在这里错过了什么?

更多信息:

我需要在指令中使用该变量的值,如下所示:

if($data == "hello")
{
   return something
}
elseif($data == "goodbye")
{
   return something else
}

这是一个简化的例子,但希望它有助于说明我需要比较指令中变量的值,然后确定要做什么.也许我需要使用eval()?

最佳答案 Blade指令应该返回一个php将解释的字符串,如下所示:

Blade::directive('row', function($data)
{
    return "<?php var_dump($data); ?>";
}
点赞