PHP5中的常量

时间:2011-07-12 19:20:44

标签: php class-constants

我有一个类,我想在其中定义其他类使用的一些常量。 const关键字对我来说还不够,因为我想要使用像2.0 * pi()这样的数学表达式作为常量。怎么做?

2 个答案:

答案 0 :(得分:4)

我知道你想要一个数学表达式给一个常量。

喜欢:

const FOO = 2.0*pi();

PHP常量只能包含标量值。如果您希望其他类使用共享信息,则必须使用静态函数/方法。

示例:

static public function foo()
{
    return  2.0*pi();
}

答案 1 :(得分:1)

实际上在PHP 5.6中实现了类似的东西,您可以在其中将各种表达式的结果分配给类常量。

您可以在此处详细了解:

http://php.net/manual/en/migration56.new-features.php#migration56.new-features.const-scalar-exprs

在这里:

https://wiki.php.net/rfc/const_scalar_exprs

根据文档,仍然不允许分配函数结果,但是以下与示例结果相同的表达式应该是完全有效的:

const FOO = M_PI*2;

请注意,PHP 5.6还没有稳定的版本,因此现在不建议在生产中使用它。