该文件如下所示:
<?php
/**
* Title
*
* Description
* bla bla..
*
* @since 1.0
* @author lolcat
*/
/**
* Some class..
*
* @since 1.0
*/
class BlaBla{
}
..
我想从中获得第一个 DocComment。用PHP可以吗?
反射似乎有这样的功能,但它只适用于类或函数,而不是文件:(
该文件如下所示:
<?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];