PHP - 常量的目的


PHP - Purpose of Constants?

使用

常量(在PHP中)的目的到底是什么?我了解它们是如何工作的,但是在什么情况下它们比全局变量更可取?如果有的话,变量不是更灵活,因为它们可以放在字符串中吗?

我在网上搜索过,但我找到的只是定义 - 而不是使用其中一个的实际原因。谁能帮助我了解使用一个而不是另一个的好处?

在什么情况下,它们比全局变量更可取?

常量不会改变。不可变的全局状态将优于其可变的对应项;这样,您的状态就在一个位置定义,并且在脚本过程中永远不会更改。除非使用runkit否则代码将无法以您意想不到的某些方式更改状态。

此外,全局变量必须使用 global 关键字在函数内部声明,尽管从技术上讲,该声明,尽管我认为更多的类型工作比假定的全局更好:)

量是可靠的。它不会改变。例如,假设您正在编写其他人可以使用的类库。假设你想使用 Pi 到小数点后 5 位,并且出于某种原因你不想让它成为带有 getter 的私有变量。

所以你做

   Class Foo {
       public $pi = 3.14159;
   }

现在某个人不小心使用你的课程

$foo->pi = 4;

好吧,这会把一切都搞砸。所以相反,你这样做

const $pi = 3.14159;

现在你知道它不会改变,也不会搞砸事情。另外,开发人员会知道您出于某种原因定义了该特定值。