我想创建一个函数,它接收一个参数,该参数保存 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)
此函数应返回给定文件中存在的所有类、方法和函数,以及所有已定义的标识符(抽象、公共、私有、受保护、静态、扩展、接口等)。
我的第一个想法是使用正则表达式来做到这一点,但是这些注释的表现非常糟糕,即: /* this function returns(max(salary)) */ 如果我想正确支持范围,就会变得相当复杂。
另一种可能的解决方案是使用以下内置 PHP 函数:
get_declared_classes
get_declared_interfaces
get_defined_functions
get_class_methods
然而,这些函数不允许我查看定义类/方法/函数的文件,因此它不是很有用。
我相信 Tokenizer 扩展可以解决我的问题,但是我以前从未使用过这个扩展。