1

我想知道是否有办法与页面级 DocBlocks 交互。我的问题更具体地说是关于 wordpress 插件开发,但这个问题也出现在非 wordpress 环境中。

原因主要是可以在整个大型项目中轻松更改版本和名称,并且可能具有恒定的定义 - 但这也将反映在 docblock..

以下示例 Docblock 来自我编写的 wordpress 插件 -

/*
Plugin Name: o99 Auxilary Functions v0.4.7
Plugin URI: http://www.myurl.com
Description: some simple description that nobody reads.
Version: 0.4.7
Author: my cool name
Author URI: http://www.ok-alsouri.com
*/

有没有办法将其转换为:

$ver = '0.4.7';
$uri = 'http://www.myurl.com';
$desc = 'some simple description that nobody reads.';
$mcn = 'my cool name';
etc.. 
etc..

    /*
    Plugin Name: o99 Auxilary Functions ($ver)
    Plugin URI: ($uri)
    Description: ($desc)
    Version: ($ver)
    Author: ($mcn)
    Author URI: ($$uri)
    */

显然,要使 echo 工作,我需要破坏 docblock 本身,并且我不能将 docblock 直接写入它自己的文件中。

简而言之:我能否以某种方式用 php 本身“生成”一个 docblock(我认为答案是 - 页面本身的“否”.. 但也许我错了,有人有一些巧妙的 hack :-))

这甚至可能吗?

4

1 回答 1

1

你可以这样做:

$ver = '0.4.7';
$uri = 'http://www.myurl.com';
$desc = 'some simple description that nobody reads.';
$mcn = 'my cool name';
etc.. 
etc..

$docblock = <<<TEMPLATE
/*
Plugin Name: o99 Auxilary Functions ($ver)
Plugin URI: $uri
Description: $desc
Version: $ver
Author: $mcn
Author URI: $uri
*/
TEMPLATE;

$file_data = $docblock;
$file_data .= file_get_contents('yourplugin.php');
file_put_contents('yourplugin.php', $file_data);
于 2012-06-23T03:30:36.497 回答