通过阅读函数注释(PHP)自动创建文档


Automatically create documentation by reading function comments (PHP)

假设我有:

class myclass {
    /*
     * This function, bla bla bla
     */
    function myclass()
    {
        return(true);
    }
    /*
     * This function, bla bla bla
     */
    function myfunc1()
    {
        return(true);
    }
    /*
     * This function, bla bla bla
     */
    function myfunc2()
    {
        return(true);
    }
}

通过使用get_class_methods(new myclass());,我可以获得类。

现在我的问题是:我能把类函数中的注释读成字符串吗?所以我可以创建自动生成的文档。

如果目标文件包含include、include_eonce、require或require_eonce,则无法访问PHP的注释,因为PHP解析器会从代码中删除所有注释。

如果你需要这样做,并且不想使用PHPDocument或Doxygen,而是想自己做,你需要使用file_get_contents或任何其他读取方法读取目标文件,并使用你选择的其他方法的正则表达式自己解析此代码(例如,使用这个库-https://github.com/nikic/PHP-Parser)。通过自己解析代码,您可以从注释中获得所需的所有信息。

但这不是一项容易的任务,所以我的建议是使用PHPDocumentor:P

[编辑2021-07-08]由于PHP5,您可以使用ReflectionClass::getDocComment

轻松完成此操作