Анонимные классы в PHP

Анонимные классы - это классы, которые не имеют имени. Обычно такие классы полезны, если нам необходимо один раз создать объект подобного класса. И больше этот класс не будет использоваться.

    Анонимные классы

    Анонимные классы это классы которые не имеют имени
    Анонимные классы нужны чтобы создать простые одноразовые объекты
    Анонимные классы, как и обычные классы могут определять свойства и методы
    Анонимные классы могут определять конструкторы
    Анонимные классы могут расширять другие классы, реализовывать интерфейсы и использовать трейты как обычный класс
    Вложение анонимного класса в другой класс не даёт ему доступ к закрытым или защищённым методам и свойствам этого внешнего класса
    Для того, чтобы использовать защищённые свойства и методы внешнего класса, анонимный класс может расширить внешний класс. Чтобы использовать закрытые свойства внешнего класса в анонимном классе, их нужно передать в конструктор

    class SomeClass { private $prop1 = 2; protected $prop2 = 3; protected function func1() { return 3; } public function funcTest() { echo "test<br>"; } } interface SomeInterface {} trait SomeTrait { public function traitTest() { echo "testTrait<br>"; } } $testVar = new class("Ivan") extends SomeClass implements SomeInterface { use SomeTrait; public $name; function __construct($name) { $this->name = $name; echo $this->prop1 . "<br>"; # Не будет работать echo $this->prop2 . "<br>"; } public function sayHello() { echo "Hello $this->name !
    "; } }; var_dump($testVar); echo "<br>"; echo $testVar->name . "<br>"; $testVar->sayHello(); $testVar->funcTest(); $testVar->traitTest();

    Источники
    Последнее изменение: 19.11.2024 09:29


    Связанные темы
    Здесь пока нет комментариев
    Добавлять комментарии могут только авторизованные пользователи

    Авторизоваться
    Я буду рекламой
    Я тоже буду рекламой
    И я
    ВВЕРХ