Блог Валентина Удальцова о разработке на PHP.
Хобот @phpyhobot
https://youtube.com/@phpyh
https://vkvideo.ru/@phpyh
https://t.me/isPHPdying
Статистика: https://t.me/INOTAROBOT?start=st1219340804
Для связи используйте личные сообщения канала.
Post #235
5.36K

Как получить все типы значения
Для примитивов всё просто — в PHP 8 теперь есть функция get_debug_type, она возвращает тип в привычном формате.
В случае объекта помимо класса нужно вернуть список суперклассов (умное название для родительских) и интерфейсов. Проще всего их добыть встроенными функциями class_parents и class_implements.
Что касается порядка отдаваемых типов, как правило, требуется сортировка от конкретных к абстрактным. Например, при поиске обработчика значения по типу имеет смысл сначала запросить узкоспециальный обработчик, а затем — универсальный.
https://3v4l.org/DFuO8
Для примитивов всё просто — в PHP 8 теперь есть функция get_debug_type, она возвращает тип в привычном формате.
В случае объекта помимо класса нужно вернуть список суперклассов (умное название для родительских) и интерфейсов. Проще всего их добыть встроенными функциями class_parents и class_implements.
Что касается порядка отдаваемых типов, как правило, требуется сортировка от конкретных к абстрактным. Например, при поиске обработчика значения по типу имеет смысл сначала запросить узкоспециальный обработчик, а затем — универсальный.
https://3v4l.org/DFuO8







