将常量与动态值封装在一个类中?

时间:2019-05-28 15:58:03

标签: php const constants

我需要将函数分配给常量,这样就行不通了:

class Config
{
    const foo = strtoupper('bar');
}

由于我需要将常量封装在类中,因此替代方法define('foo', strtoupper('bar'));不会这样做。

我唯一的选择是使用公共变量吗?例如,

class Config
{
    public $foo;

    public function __construct()
    {
        $this->foo = strtoupper('bar');
    }

}

1 个答案:

答案 0 :(得分:0)

PHP中无法动态定义类常量,但是可以使用静态方法来获得相同的结果:

class Config
{
    public static function FOO()
    {
        return strtoupper('bar');
    }

}

// Usage:
$value = Config::FOO()