Анонімні класи

Анонімні класи корисні, коли потрібно створити прості одноразові об'єкти.

Loading...

Вони можуть передавати аргументи в конструктори, розширювати інші класи, реалізовувати інтерфейси та використовувати трейти як звичайний клас:

Loading...

Результат виконання наведеного прикладу:

object(class@anonymous)#1 (1) {
  ["Command line code0x104c5b612":"class@anonymous":private]=>
  int(10)
}

Вкладення анонімного класу в інший клас не дає йому доступу до закритих або захищених методів і властивостей цього зовнішнього класу. Щоб використовувати захищені властивості і методи зовнішнього класу, анонімний клас може розширити зовнішній клас. Щоб використовувати закриті властивості зовнішнього класу в анонімному класі, їх потрібно передати до конструктора:

Loading...

Результат виконання наведеного прикладу:

6

Усі об'єкти, створені одним і тим самим оголошенням анонімного класу, є екземплярами цього самого класу.

Loading...

Результат виконання наведеного прикладу:

Тот же класс

Зауваження :

Зверніть увагу, що анонімним класам надаються імена двигуном PHP, як показано в прикладі нижче. Це слід розглядати як особливість реалізації, яку слід покладатися.

Loading...

Висновок наведеного прикладу буде схожим на:

class@anonymous/in/oNi1A0x7f8636ad2021