在PHP中的构造函数中初始化类常量

时间:2011-12-20 17:56:19

标签: php

就像在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?
    }

}

1 个答案:

答案 0 :(得分:5)

不,这在PHP中是不可能的。定义常量时必须定义常量值,它必须是常量表达式。

不推荐:当然,如果安装了runkit,您可以使用runkit_constant_add()

public function __construct($width)
{
    runkit_constant_add(__CLASS__ . '::WIDTH', $width);
}