Парсинг классов, функций и аргументов в 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 - решение моей проблемы, однако я никогда не использовал это расширение раньше.