读取/解析自己文件中的Docblock



假设我有一个这样的文档块:

 * @since       0.0.1  
 * @subpackage  my-package
 * @todo        too much
 * @var        int $myvar
 * @version    0.0.99

或:

 * Name: my app name
 * URI: http://www.someurl.com
 * Description: A Simple description.
 * Version: 0.0.99
 * Author: Obmerk99
 * Author URI: http://www.someuri.com
 * Text Domain: for get_text
 * Domain Path: /lang
 *

如何解析文档块以在同一文件中使用这些字符串?

我的目标是每次更改文档块时,只需在整个文档中使用@version编号,而不必添加另一个$version = 'myversion'

我知道有docblock解析器类,但我找不到如何读取自己的文件。(我自己的问题-从很久以前开始,提供了某种解决方案,但仅适用于外部文件,而且无论如何都不理想,因为它每次都需要打开和写入文件)

此外,在梨示例页面中,他们似乎以某种方式使用(据我所知)版本号作为变量-但我不明白如何。。。

示例版本I

* @version    SVN: $Id$

示例版本II:

* @version    CVS: <?php
$
?> Id:$

(我不知道为什么这两个示例页面不同(URL enzh)——也许这只是一个小的webug。)但无论如何,我都不知道如何应用它。

重点是:我如何在文件本身中将文档块用作字符串,或者反转逻辑并在文档块中使用文档中的变量,这样我总是需要仅声明版本号(以及可能的其他变量)ONCE

我认为您唯一能做的就是使用解析器,或者执行搜索/替换(使用正则表达式)

另一种方法是使用Reflection来实现它:http://www.phpriot.com/articles/reflection-api在我看来,如果你有PHP5可用,这将是一条路:)

相关内容

  • 没有找到相关文章

最新更新