Свойства в php
Свойства
Доступ к нестатическим свойствам можно получить через оператор ->, $this->property
Доступ к статическим свойствам можно получить через оператор двоеточия ::, self::$property
Свойство $var10 определено как свойство для чтения с модификатором readonly,если свойство определяется как свойство только для чтения, то для него необходимо явным образом указать тип данных.
Readonly-свойства не могут иметь значения по умолчанию, если они не являются свойствами определяемыми в конструкторе
В PHP 8.2 поля readonly можно определить не только в конструкторе.
Нельзя изменять флаг readonly во время наследования
Можно пометить сам класс как readonly, что позволит не помечать каждое свойство флагом readonly
class SimpleClass
{
public readonly string $var10;
public function __construct()
{
$this->var10 = "test10";
}
public function echovar()
{
echo $this->var10 . "<br>";
}
}
$obj1 = new SimpleClass();
$obj1->echovar();
Динамические свойства
При попытке присвоить несуществующее свойство объекту (object), PHP автоматически создаст такое свойство. Это динамически созданное свойство будет доступно только для этого экземпляра класса.
Источник: https://www.php.net/manual/ru/language.oop5.properties.php
Источники
Связанные темы
Оператор разрешения видимости в php
Позднее статическое связывание
Методы создания экземпляра класса в php
Автоматическая загрузка классов
Наследование с помощью extends в php
Конструкторы и деструкторы в php