类文件方法过程截取.请教用什么方法比较快呢
程序员文章站
2024-01-24 10:26:58
...
类文件方法过程截取.请问用什么方法比较快呢?
我现在想到的方法
只有3种
1.使用 fopen while(feof) 获取 { } 数量截取方法体内容.
2.使用 explode('function',fopen)
3.递归 和 1. 差不多没什么区别。
我想问有什么方法比较快的呢?
例如
例子上方法体内容可能比较简单. 实际比较复杂.
请问有什么方法可以 更容易获取 方法体内容过程吗??
在这里先谢谢啦
------解决方案--------------------
get_class_methods($cls);
------解决方案--------------------
反射结合数组截取
我现在想到的方法
只有3种
1.使用 fopen while(feof) 获取 { } 数量截取方法体内容.
2.使用 explode('function',fopen)
3.递归 和 1. 差不多没什么区别。
我想问有什么方法比较快的呢?
例如
- PHP code
例子上方法体内容可能比较简单. 实际比较复杂.
请问有什么方法可以 更容易获取 方法体内容过程吗??
在这里先谢谢啦
------解决方案--------------------
get_class_methods($cls);
------解决方案--------------------
反射结合数组截取
- PHP code
class a { public function a(){echo a; } /*b*/ public function b(){ echo b; } //c public function c(){ echo c; } } $class = new ReflectionClass('a'); $method=$class->getMethod('b'); $filename=$method->getFileName();//获取文件名 $start=$method->getStartLine();//获取方法起始行 $length=$method->getEndLine()-$start;//获取方法体长度 $source=file($filename); $code = implode('',array_slice($source,$start-1,$length+1)); echo $code; /* public function b(){ echo b; } */相关文章
相关视频