【发布时间】:2018-04-13 08:42:53
【问题描述】:
似乎在内存方面可能存在差异,但除此之外,它们看起来非常相似。我应该注意哪些差异?
【问题讨论】:
-
PHP 常量不能引用任何东西吗?
-
@sawa - 不,他们不能,例如你不能把一个对象放在一个常量中。直到最近你只能把原语放在那里(如果我记得 PHP7 现在允许数组作为常量)。那就是说我不知道Ruby是如何做到的。但是说
anything是一种广泛的方式...... :-p -
我明白了。但似乎 PHP 仍然允许更多的东西被称为常量。
-
有用户定义的全局常量
define('Constant', $value )和类常量class foo{ const Constant = 1; }并使用foo:Constant;访问您也可以使用$var = 'foo';然后$var::Constant;但这可能会让您大吃一惊。跨度> -
在
class constants或defined constants的任何一种情况下,您都无法在运行时更改该值。这就是为什么它们是常数。类常量很有用,因为它们不会弄乱全局空间,并且比全局常量更容易定位。