Chr*_*ris 29 php variables quotes double static
如何让PHP在双引号中评估静态变量?
我想做这样的事情:
log("self::$CLASS $METHOD entering");
Run Code Online (Sandbox Code Playgroud)
我已经尝试了各种{}组合来获得self :: $ CLASS的变量值,但没有任何效果.我目前已经解决了字符串连接问题,但输入时很难:
log(self::$CLASS . " $METHOD entering");
Run Code Online (Sandbox Code Playgroud)
使用存储在变量中的匿名标识函数。这样您将$
立即获得{
:
$I = function($v) { return $v; };
$interpolated = "Doing {$I(self::FOO)} with {$I(self::BAR)}";
(我在本例中使用类常量,但这也适用于静态变量)。
不幸的是,还没有办法如何做到这一点.这里的答案之一中的示例将不起作用,因为{${self::$CLASS}}
不会返回内容self::$CLASS
,但会返回名称中的变量的内容self::$CLASS
.
这是一个不返回的示例myvar
,但是aaa
:
$myvar = 'aaa';
self::$CLASS = 'myvar';
echo "{${self::$CLASS}}";
Run Code Online (Sandbox Code Playgroud)