В 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