我有以下测试代码:
namespace Test {
const ONE = 50;
class A {
const TWO = 5;
public function pA($string) {
return $string;
}
}
$a = new A();
print $a->pA($a::TWO);
print "This is a string: {$a->pA($a::TWO)}";
print "This is a namespace constant: " . ONE;
print "This is a namespace constant: " . \Test\ONE;
}
所有这些例子都有效,但这不是我想要的。
我可以使用字符串组合来表示前两个示例中的常量吗?我尝试了许多组合,例如"${\Test\B}"
或"${B}"
或"${\B}"
,但到目前为止,没有运气。
也许这是不可能的,而且我过度了,但无论如何......有没有办法做到这一点?
答案 0 :(得分:3)
这不起作用。您可以在双引号字符串中使用$变量,函数或对象方法调用,但不能使用常量。请参阅PHP string parsing documentation。你会发现许多有用的例子。