1

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

 * @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
 *

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

@version我的目标是每次更改时只需使用 docblock 中的数字贯穿整个文档,而无需添加另一个$version = 'myversion'

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

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

示例版本 I

* @version    SVN: $Id$

示例版本 II

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

(我不知道为什么这两个示例页面不同(URLenzh)-也许它只是一个小网络错误。)但无论如何我不明白如何应用它。

重点是:我如何将 docblock 用作文件本身中的字符串 - 或者反转逻辑并使用 docblock 中的文档中的变量,因此我总是需要声明版本号(可能还有其他变量)ONCE

4

1 回答 1

0

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

另一种方法是使用反射来实现它:http: //www.phpriot.com/articles/reflection-api 在我看来,如果你有 PHP5 可用,那将是可行的方法:)

于 2013-12-18T07:40:29.313 回答