类文件方法过程截取.请问用什么方法比较快呢?
我现在想到的方法
只有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;
} */









