【发布时间】:2016-04-05 19:58:47
【问题描述】:
我正在尝试创建一个 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() ?
【问题讨论】:
-
我一直在尝试使用 eval() 但我不认为这是正确的...为什么这不将值传递给指令????
-
我正在努力解决同样的问题,我只是无法将评估的字符串或变量传递给我的自定义 Blade 指令。看起来,按照设计,它只能在
return之后进行评估。不过,eval()总是很危险的方法。
标签: php laravel-5 laravel-blade