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