有没有办法从phing ad-hoc任务中获得返回值?
例如,我正在尝试从文件中的JSON字符串获取版本号,如下所示:
<target name="get-app-version"> <adhoc-task name="appversion" ><![CDATA[ class AppversionTask extends Task { private $version; public function getVersion() { return $this->version; } function main() { $manifest = file_get_contents("manifest.json"); $manifest_json = json_decode($manifest); $version = $manifest_json->version; $this->log("App version: " . $version); $this->version = $version; } } ]]></adhoc-task> <appversion output="version" /> <echo message="${version}" /> </target>
我只能找到有关设置值的文档,但不能获取值.但是,adhoc typdef task似乎显示了get语法,所以我想知道是否有某种方法可以做到这一点.
我不确定我是否完全理解.这听起来像是,而不是设置
$这个 – >的版本
你应该打电话
$this-> project-> setProperty(‘version’,$version);
这会将’version’属性添加到项目实例中.您不需要为任务设置属性,除非您要稍后更改项目中的属性名称(从“版本”到其他属性).
`
<adhoc-task name="appversion" ><![CDATA[ class AppversionTask extends Task { function main() { $manifest = file_get_contents("manifest.json"); $manifest_json = json_decode($manifest); $version = $manifest_json->version; $this->log("App version: " . $version); $this->project->setProperty('version',$version); } } ]]></adhoc-task> <appversion /> <!-- The version property should now be set --> <echo message="${version}" />
`