如何在PHP中读取注释块?
我正在做一些自制的自动化文档,因为我有一个布局不太标准的代码库,我想知道读取php文件并抓取挡路评论内容的最好方法是什么。我能想到的唯一方法就是打开文件并逐行读取,但我认为可能有一些内置的魔术可以为我解析文档,类似于反射函数。
每个文件的基本布局如下:
<?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.
请注意,这些文件中没有定义任何函数或类,这一点很重要。注释与整个脚本相关。
解决方案
签出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);
相关文章