Есть ли функция для перечисления всех атрибутов объектов (таких как общедоступные методы и свойства) в PHP, подобных Python dir()?
Функция PHP для перечисления всех атрибутов объектов
Ответ 1
PHP5 включает полный API отражения для выхода за рамки того, что старше get_class_methods и get_object_vars.
Ответ 2
Reflection::export(new ReflectionObject($Yourobject));
Ответ 3
Вы можете использовать API Reflection ReflectionClass::getProperties и ReflectionClass::getMethods для этого (хотя API, похоже, не очень хорошо документирован). Обратите внимание, что отражение PHP отражает только информацию времени компиляции, а не объекты времени выполнения. Если вы хотите, чтобы объекты выполнения также были включены в ваши результаты запроса, лучше всего использовать get_object_vars, get_class_vars и get_class_methods. Разница между get_object_vars и get_class_vars заключается в том, что первая получает вам все переменные на данном объекте (включая динамически добавленные во время выполнения), в то время как последний дает вам только те, которые явно объявлены в классе.
Ответ 4
Вы можете использовать get_object_vars для перечисления переменных объекта и get_class_methods, чтобы перечислить методы данного класса.