2011-01-22 47 views
3

我在找一个函数或类,它可以有效地勾勒出一个类:创建一个PHP类外形

class MyClass{ 

    /* 
    * Perhaps include the function comments 
    * in the function. 
    */ 
    function mainFunction(){ 
    //Does Something 
    } 

    function functionWithArgs($arg1,$arg2=false){ 
    //Does Something 
    //The function I want will give e the arguments w/default values 
    } 

} 

是否有存在的函数或库,可以给我一些类型的访问到有关信息这个类,甚至是文件。

ex。

get_file_outline('fileWithAboveClass.php');

get_class_outline('MyClass');

有谁知道任,或知道的很容易写这个办法?

回答

6

看看PHP的Reflection API

//use the ReflectionClass to find out about MyClass 
$classInfo = new ReflectionClass('MyClass'); 

//then you can find out pretty much anything you want to know... 
$methods = $classInfo->getMethods(); 
var_dump($methods); 

//you can even extract your comments, e.g. 
$comment=$classInfo->getMethod('mainFunction')->getDocComment(); 

注意,对于评论的提取工作,他们有像PHPDoc的/ Doxygen的意见进行格式化,并有开口/**

+0

这是非常有帮助,谢谢!有什么方法可以获得函数参数吗? – Nitroware 2011-01-22 19:40:30

0

开始还有可用于检查功能和类的命令行选项。

$ php --rc DateTime 

会给你所有关于日期时间类的细节,而

$ php --rf in_array 

会给你“in_array”功能的参数。

如果你编码时使用终端它可以很方便的使用而不是在PHP手册所有的时间寻找它;)