该文件如下所示:
<?php
/**
* Title
*
* Description
* bla bla..
*
* @since 1.0
* @author lolcat
*/
/**
* Some class..
*
* @since 1.0
*/
class BlaBla{
}
..
我想从中获取第一个DocComment。 PHP 可以吗?
反射似乎有这样的功能,但它只适用于类或函数,不适用于文件:(
最佳答案
对于这类事情有一个基本的扩展。它的名字叫Tokenizer .
使用token_get_all()
功能。
返回数组中的每个标记都有它的 id。有定义它们的全局常量: http://www.php.net/manual/en/tokens.php .
如果您使用 PHP >= 5.3:
$s = file_get_contents('tokexample.php');
$docblock = reset(array_filter(token_get_all($s),
function($item) {
return $item[0] == T_DOC_COMMENT;
}));
echo $docblock[1];
/**
* Title
*
* Description
* bla bla..
*
* @since 1.0
* @author lolcat
*/
其他:
function filter($item) {
return $item[0] == T_DOC_COMMENT;
}
$docblock = reset(array_filter(token_get_all($s), "filter"));
echo $docblock[1];
关于php - 如何获取文件的DocComment?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11619918/