2011-08-22 86 views

回答

8

这不符合类常量的想法 - 它们不应该依赖于特定的实例。你应该使用一个变量。

但是,如果你坚持这样做,是非常冒险的并且可以安装PHP扩展,你可以看看runkit扩展,它允许在运行时修改类和它们的常量。看到这个文档:http://www.php.net/manual/en/function.runkit-constant-add.php

+0

我一直在寻找可以在构造函数中设置的java的'static final'的php等价物,但不幸的是,在php常量中有点不同。 –

+0

它也违背了常量的概念,但在PHP中,您可以动态地定义()一个常量。 –

+0

当您想要定义其值由其他常量的值组成的字符串常量时(为了干掉公共部分),这会很有用。由于PHP不允许在常量值中使用表达式(如两个字符串的连接),因此在构造函数中执行此操作会很有用。 –

3

我不认为你可以。

它没有任何意义 - 一个类常量可以在静态上下文中使用,其中没有构造函数。

你将不得不使用一个变量 - 这就是他们在那里。