就像在C ++中一样,可以在构造函数中初始化类常量吗?
与C ++类似,它看起来像:
class Abc
{
const WIDTH;
public __constructor($width):WIDTH($width) //WIDTH gets assigned here and is immutable
{
//I know syntax may not be ok but is anything similar possible in PHP?
}
}
答案 0 :(得分:5)
不,这在PHP中是不可能的。定义常量时必须定义常量值,它必须是常量表达式。
不推荐:当然,如果安装了runkit,您可以使用runkit_constant_add()
:
public function __construct($width)
{
runkit_constant_add(__CLASS__ . '::WIDTH', $width);
}