Есть ли эквивалент var_dump для методов в PHP?

1

Я работаю над некоторым устаревшим кодом, и мне нужно получить некоторую информацию от объекта. Цена, например. Цена может быть сохранена в переменной или ее можно получить с помощью метода. Я еще не знаю, только что он существует внутри объекта.

Я могу захватить объект в коде и var_dump все переменные, чтобы посмотреть, что доступно в тот момент времени выполнения. Но иногда то, что мне нужно, не возвращается

$item->price

но вместо этого нужно

$item->get_price()

Мне кажется, было бы очень полезно иметь возможность выгружать информацию из методов таким же образом, как я могу сбрасывать информацию из переменных.

Поэтому в идеале я буду придерживаться этой команды в коде, и она вернет минимальный список всех методов, которые можно вызвать на объекте. В идеале, если эти методы не имеют входных данных, тогда они также вернут свои возвращаемые значения.

Существует ли такая команда в PHP? На любом языке?

  • 0
    get_class_methods и класс Reflection
  • 0
    Что бы вы ни делали, если у класса есть магический __call() , вы не сможете определить какие-либо методы, которые могут его использовать.
Теги:
oop
var-dump

1 ответ

0
Лучший ответ

Вам нужно написать свой собственный.

Взгляните на get_class_methods. Для этого вам нужно иметь имя класса. Вы можете получить это с помощью get_class.

Поэтому вы хотите представить что-то подобное в своей библиотеке:

function getObjectMethods(object $obj) {
    $className = get_class($obj);
    return get_class_methods($className);
}

Возможно, вам стоит подумать о лучшей IDE, которая поддерживает подсказки типов и т.д. Посмотрите, например, на PHPStorm.

  • 0
    «В идеале, если эти методы не имеют входных данных, они также будут возвращать свои возвращаемые значения». Я думаю, что вы находитесь на несколько иной трассе, чем потребности

Ещё вопросы

Сообщество Overcoder
Наверх
Меню