Heim > Backend-Entwicklung > PHP-Tutorial > 类文件方法过程截取.请教用什么方法比较快呢

类文件方法过程截取.请教用什么方法比较快呢

WBOY
Freigeben: 2016-06-13 10:28:54
Original
913 Leute haben es durchsucht

类文件方法过程截取.请问用什么方法比较快呢?
我现在想到的方法
只有3种
1.使用 fopen while(feof) 获取 { } 数量截取方法体内容.
2.使用 explode('function',fopen)
3.递归 和 1. 差不多没什么区别。

我想问有什么方法比较快的呢?
例如

PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><?phpclass a{    public function a(){echo a;}    /*b*/    public function b()    {echo b;}    //c    public function c(){       echo c;    }}?>
Nach dem Login kopieren

例子上方法体内容可能比较简单. 实际比较复杂.
请问有什么方法可以 更容易获取 方法体内容过程吗??
在这里先谢谢啦

------解决方案--------------------
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;    } */<div class="clear">
                 
              
              
        
            </div>
Nach dem Login kopieren
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage