Laravel 5 Blade 自定义指令 - 传递变量时遇到问题

Ken*_*nny 5 php laravel-5 laravel-blade

我正在尝试创建一个 Blade 指令,它将根据传入的内容在我的表行上设置一个类。问题是当我调用它时,没有传入变量的值 - 我拥有的文字字符串括号之间是。

在我看来:

@row($inspection->inspection_disposition)
Run Code Online (Sandbox Code Playgroud)

在指令中:

 Blade::directive('row', function($data)
    {
        var_dump($data);
           .
           .
           .
     }
Run Code Online (Sandbox Code Playgroud)

我在转储中看到的是:

string(37) "($inspection->inspection_disposition)"

我不应该看到那个变量的值吗?这就是我想要的。我在这里缺少什么?

更多信息:

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

if($data == "hello")
{
   return something
}
elseif($data == "goodbye")
{
   return something else
}
Run Code Online (Sandbox Code Playgroud)

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

RDe*_*Dev 3

Blade 指令应该返回 php 将解释的字符串,如下所示:

Blade::directive('row', function($data)
{
    return "<?php var_dump($data); ?>";
}
Run Code Online (Sandbox Code Playgroud)