我想知道是否有办法与页面级DocBlock交互。 我的问题更具体地说是wordpress插件开发,但这个问题也出现在非wordpress环境中。
原因主要是可以在整个大型项目中轻松更改VERSIONS和名称,可能会有一个不变的定义 - 但这也会反映在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本身的文件块(我认为答案是 - 页面本身的“不”。但也许我错了,有人有一些整洁的黑客:-))
这甚至可能吗?
答案 0 :(得分: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);