在 PHP 中定义常量是否有任何限制


Is there any restriction in defining constants in PHP?

我应该定义常量并使用它吗?

我可以使用幻数吗?

我正在项目中工作,我在很多地方使用幻数,我想改变它吗? 因为我使用的幻数超过 1000 个?这是仪式方式还是我应该使用恒定?

常量的数量有限制吗?

前任:

 Magic numbers:
    $common->getDBMessage(25);
 Constants:
    $common->getDBMessage(ERROR_MESSAGE_INVALID_PHONE);

您可以拥有任意数量的常量。PHP 已经内置了大量的常量。

您可能需要考虑将它们设置为类常量(const类内)而不是全局常量(使用 define )。组织它们将帮助您更好地构建代码并使其更易于使用。

此外,如果某些常量是相关的,则可以考虑对值组使用位掩码,以便可以一起指定它们。这将避免为组合值创建附加常量。

但這一切只是讓你的生活更輕鬆的建議;它與你是否能做到無關

PHP 中对常量没有限制 - 至少没有本机限制。

这是一个很好的做法 - 如果你有 1000 个命名错误的常量,那么那些会阅读你的代码的人将很难理解这一点。而且 - 我不明白为什么要对数字使用常量,除非它们具有模型定义(或应用程序定义)的含义。

即,如果您有一些 id=1 的服务"FOO",那么值为 1 SERVICE_FOO_ID常量是正常的解决方案,但如果您想为案例for($i=1; ...)创建值为 1 的常量 - 这听起来很奇怪。

常见的答案是,原因:这是意见基础。这取决于你。

相关文章: