php - 如何获取文件的DocComment?

标签 php string parsing documentation

该文件如下所示:

<?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/

相关文章:

c - 获取单个字符并将其传递给 C 中的函数

javascript - 表行排序和字符串性能

Java解析指数格式的数字

java - 使用 GSON 解析 JSON 文件

php - XHProf - 查看所有个人资料

php - php 中出现 fatal error

javascript - 如何在js中使用php

php - 重新定义 PHP 方法,可以调用旧方法

从delphi 7到xe的字符串编码错误

parsing - 如何检查 ANTLR token 在解析器中仅使用一次或更少