【发布时间】:2011-02-16 16:40:31
【问题描述】:
我知道您可以使用字符串连接来创建全局常量:
define('FOO', 'foo');
define('BAR', FOO.'bar');
echo BAR;
将打印“foobar”。
但是,我尝试使用类常量执行相同操作时遇到错误。
class foobar {
const foo = 'foo';
const foo2 = self::foo;
const bar = self::foo.'bar';
}
foo2 的定义没有问题,但是声明 const bar 会出错
解析错误:语法错误,意外的 '.',期待 ',' 或 ';'
我也尝试过使用像 sprintf() 这样的函数,但它不喜欢左括号,而不是字符串连接符 '.'。
那么除了像 foo2 这样的简单集合案例之外,还有什么方法可以根据彼此创建类常量?
【问题讨论】: