Существуют ли общедоступные статические переменные конечного класса

В Jave вы можете определить public static final переменную в классе. Есть ли эквивалент этого в PHP?

Я хотел бы сделать следующее:

 <?php class MyClass{ public final static $finalVariable = "something"; } MyClass::$finalVariable 

и никогда не придется беспокоиться о $finalVariable и не иметь нового экземпляра для каждого экземпляра MyClass

На этой странице в руководстве по PHP:

Примечание. Свойства не могут быть объявлены окончательными, только классы и методы могут быть объявлены окончательными.

Однако вы можете использовать константы класса, как описано здесь .

Ваш пример будет выглядеть примерно так:

 <?php class MyClass{ const finalVariable = "something"; } MyClass::finalVariable; ?> 

За исключением, конечно, что finalVariable самом деле не является подходящим именем, потому что это не переменная =).

В PHP ООП нет таких понятий, как final или readonly ключевые слова / понятия для переменных-члена. сам выпуск доступен для самих классов и функций, содержащихся только внутри.

Вместо этого вы должны использовать константу класса , это гарантирует, что значение не может измениться.

 class MyClass { const FINALVARIABLE = "something"; } // Usage MyClass::FINALVARIABLE