Парсинг классов, функций и аргументов в PHP

Я хочу создать функцию, которая получает единственный аргумент, который содержит путь к файлу PHP, а затем анализирует данный файл и возвращает что-то вроде этого:

class NameOfTheClass
   function Method1($arg1, $arg2, $arg2)
   private function Method2($arg1, $arg2, $arg2)
   public function Method2($arg1, $arg2, $arg2)

abstract class AnotherClass
   function Method1($arg1, $arg2, $arg2)
   private function Method2($arg1, $arg2, $arg2)
   public function Method2($arg1, $arg2, $arg2)

function SomeFunction($arg1, $arg2, $arg3)

Эта функция должна возвращать все классы, методы и функции, которые существуют в данном файле со всеми определенными идентификаторами (абстрактный, открытый, закрытый, защищенный, статический, расширяемый, интерфейсы, ...).

Сначала я использовал регулярные выражения для этого, однако они плохо работают с комментариями, то есть: / * эта функция возвращает (max (salary)) * / и становится довольно сложной, если я хочу должным образом поддерживать области.

Другим возможным решением было использование следующих встроенных функций PHP:

get_declared_classes
get_declared_interfaces
get_defined_functions
get_class_methods

Однако эти функции не позволяют мне увидеть файл, в котором определены классы / методы / функции, и поэтому он не очень полезен.

Я считаю, что расширение Tokenizer - решение моей проблемы, однако я никогда не использовал это расширение раньше.

Ответы на вопрос(4)

Ваш ответ на вопрос