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

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

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

$item->price

но вместо этого должен быть найден

$item->get_price()

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

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

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

1 ответ

Решение

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

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

Итак, вы хотите представить что-то вроде этого в вашей библиотеке:

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

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

Другие вопросы по тегам