PHP5 中的常量

发布于 2024-11-19 23:35:29 字数 88 浏览 1 评论 0原文

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

I have a class in which I want to define some constants used by other classes. The const keyword isn't enough for me because I want for example to use a mathematical expression like 2.0 * pi() as a constant. How is done?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

欢烬 2024-11-26 23:35:29

我知道您想将数学表达式分配给常量。

例如:

const FOO = 2.0*pi();

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

例子:

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

I understand you want to assign a mathematical expression to a constant.

Like:

const FOO = 2.0*pi();

PHP constants can only contain scalar values. If you want other classes to use shared information, you will have to use static functions/methods for this.

Example:

static public function foo()
{
    return  2.0*pi();
}
寂寞美少年 2024-11-26 23:35:29

实际上,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 还没有稳定的版本,因此目前不建议在生产中使用它。

Actually something similar is implemented in PHP 5.6 where you can assign results of various expressions to class constants.

You can read more about it here:

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

and here:

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

Assigning results of functions is still not allowed according to the documentation, however the following expression that has the same result as your example should be completely valid:

const FOO = M_PI*2;

Be advised that PHP 5.6 does not have a stable release yet, so it is not recommended for now to use it in production.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文