在Jave中,您可以在类中定义public static final
变量。在PHP中是否有相同的东西?
我想做以下事情:
<?php
class MyClass{
public final static $finalVariable = "something";
}
MyClass::$finalVariable
并且永远不必担心$finalVariable
更改并且没有为MyClass
答案 0 :(得分:38)
来自PHP手册中的this page:
注意:属性不能声明为final,只有类和方法可以声明为final。
但是,您可以按照here所述使用类常量。
你的例子看起来像这样:
<?php
class MyClass{
const finalVariable = "something";
}
MyClass::finalVariable;
?>
当然,finalVariable
不是一个合适的名称,因为它不是变量=)。
答案 1 :(得分:4)
PHP OOP中的成员变量没有final
或readonly
个关键字/概念。 final
本身可用于类本身和仅包含在其中的函数。
您应该考虑使用的是class constant,这样可以保证价值不会发生变化。
class MyClass
{
const FINALVARIABLE = "something";
}
// Usage
MyClass::FINALVARIABLE