Получить файл - где находится метод класса

  • Автор темы Автор темы Petja
  • Дата начала Дата начала

Petja

Новичок
PHP:
$class = new Class;

$class_methods = get_class_methods(get_class($class));
foreach ($class_methods as $method_name) {
    echo "$method_name\n";
}

Выводит список методов, в частности run, подскажите пожалуйста, как узнать в каком файле лежит данный метод данного объекта?
 
У тебя экзамен, что ли?
Нет, сайт один перестал работать частично. Пытаюсь локализовать проблему. Разбираюсь с ооп кодом...
У меня не так много опыта работы с ооп, поэтому решил сейчас попробовать поспрашивать на форуме, вместо того, чтобы ковыряться до конца.
Потому что сейчас есть другая работа и она тоже срочная и теперь стоит, и я как бы разбираюсь но спешу...

У меня еще один вопрос остался, я его в третьей теме спрошу, надеюсь последний...
 
Нужно установить нормальную IDE и для нахождения метода понадобится просто кликнуть по нему.
 
  • Like
Реакции: WMix
Нужно установить нормальную IDE и для нахождения метода понадобится просто кликнуть по нему.
Да, я в phpStorm работаю, но в данном коде - часто встречаются одноименные методы, и не понятно какой именно в данный момент вызывается...
 
Одноименные методы одноименных объектов одноименных классов..?:D
Ну просто я жал контрл+клик на метод, а он меня отправлял к методу класса - который не работал. Я делал поиск по файлам и находил другой одноименный метод - который работал.

PS: Он не может проиндексировать 1 в 1 данный код, потому что там как-то все "сложно".
 
Эту проблему может криво, но тоже решил, не смог найти как брать инфу о методе объекта...

Надо было узнать в каком файле хранится вызываемый метод process:
PHP:
$o = $this->process();
Сначала получил класс:
PHP:
echo get_class($this);die; // modResourceUpdateProcessor
Затем уже взял данные о методе:
PHP:
$reflectionMethod = new ReflectionMethod('modResourceUpdateProcessor', 'process');
var_dump($reflectionMethod->getFileName());
var_dump($reflectionMethod->getStartLine());

Благодарю всех за участие!
 
Сверху