Что такое анонимные классы?
Анонимные классы в языке программирования PHP представляют собой специальные структуры, которые не имеют заранее заданного имени, но при этом обладают всеми стандартными возможностями обычных классов. Данная функциональность была официально представлена начиная с версии PHP 7.0 и существенно расширила возможности разработчиков.
Основным сценарием применения анонимных классов является создание одноразовых реализаций объектов, которые не планируется переиспользовать в других частях вашего программного кода. Создать такой класс можно с помощью синтаксической конструкции, состоящей из ключевых слов доллар обджект равно нью класс и фигурных скобок.
Несмотря на отсутствие имени, анонимные классы поддерживают все ключевые концепции объектно-ориентированного программирования. Они могут успешно наследоваться от других родительских классов, реализовывать любые интерфейсы, а также использовать подключаемые трейты для расширения своей функциональности.
Чаще всего разработчики активно используют анонимные классы при написании автоматизированных тестов, а также для быстрой генерации различных мок-объектов или заглушек. Это позволяет избежать создания сотен мелких файлов с классами, которые нужны исключительно для прохождения одного конкретного юнит-теста.
Использование анонимных классов помогает сделать кодовую базу более компактной и локализованной, так как вся логика конкретного вспомогательного объекта описывается ровно в том месте, где она непосредственно применяется, улучшая общую читаемость и поддерживаемость проекта.