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