Что такое Reflection API?

Ответ

Reflection API - механизм интроспекции: анализ классов, методов, свойств, параметров в runtime:

$ref = new ReflectionClass(User::class);
$ref->getMethods();              // все методы
$ref->getProperties();           // все свойства
$ref->getConstructor()->getParameters(); // параметры конструктора
$ref->getAttributes();           // атрибуты (PHP 8.0)
$ref->isAbstract();
$ref->isFinal();
$ref->implementsInterface(Serializable::class);

// ReflectionMethod
$method = new ReflectionMethod(User::class, 'getName');
$method->getReturnType();
$method->invoke($obj);

Применение: DI-контейнеры (autowiring), ORM (маппинг), сериализаторы, генераторы документации, тестовые фреймворки.

🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.