我正在做一些自制的自动化文档,因为我的代码库布局不是很标准,我想知道读取PHP文件和获取注释块内容的最佳方法是什么。我能想到的唯一方法就是打开文件并逐行阅读,但是想到可能有一些内置的魔法会为我解析文档,类似于Reflection函数。
每个文件的基本布局如下:
<?php // $Id$
/**
* Here is this script's documentation, with information in pseudo-javadoc
* type tags and whatnot.
*
* @attr something some information about something
* @attr etc etc etc
*/
// rest of the code goes here.
请务必注意,这些文件中没有定义任何函数或类。这些评论与整个剧本有关。
答案 0 :(得分:16)
查看Tokenizer。
要获取名为test.php
的文件中的所有评论,请执行以下操作:
$tokens = token_get_all(file_get_contents("test.php"));
$comments = array();
foreach($tokens as $token) {
if($token[0] == T_COMMENT || $token[0] == T_DOC_COMMENT) {
$comments[] = $token[1];
}
}
print_r($comments);
答案 1 :(得分:1)
查看PHP5附带的Reflection API,更具体地说getDocComment()
:
PHP 5带有完整的反映 添加能力的API 逆向工程类,接口, 功能和方法以及 扩展。另外, 反射API也提供了方法 检索函数的doc注释, 课程和方法。
此外,根据代码库的大小,您可以通过修改注释以适应phpDocumentor语法来减少工作量,这种语法已经非常接近。