Анонімні класи
Анонімні класи корисні, коли потрібно створити прості одноразові об'єкти.
Loading...
Вони можуть передавати аргументи в конструктори, розширювати інші класи, реалізовувати інтерфейси та використовувати трейти як звичайний клас:
Loading...
Результат виконання наведеного прикладу:
object(class@anonymous)#1 (1) {
["Command line code0x104c5b612":"class@anonymous":private]=>
int(10)
}
Вкладення анонімного класу в інший клас не дає йому доступу до закритих або захищених методів і властивостей цього зовнішнього класу. Щоб використовувати захищені властивості і методи зовнішнього класу, анонімний клас може розширити зовнішній клас. Щоб використовувати закриті властивості зовнішнього класу в анонімному класі, їх потрібно передати до конструктора:
Loading...
Результат виконання наведеного прикладу:
6
Усі об'єкти, створені одним і тим самим оголошенням анонімного класу, є екземплярами цього самого класу.
Loading...
Результат виконання наведеного прикладу:
Тот же класс
Зауваження :
Зверніть увагу, що анонімним класам надаються імена двигуном PHP, як показано в прикладі нижче. Це слід розглядати як особливість реалізації, яку слід покладатися.
Loading...Висновок наведеного прикладу буде схожим на:
class@anonymous/in/oNi1A0x7f8636ad2021