如何在Phing构建文件中正确使用PHP


How to use PHP in a Phing build file correctly?

我使用adhoc-task直接在Phingbuild.xml文件中编写PHP。

以下操作确实有效,但会引发控制台错误:

<adhoc-task name="foo"><![CDATA[
 define('WP_INSTALLING', true);
 require_once '${build.dir.wp}/wp-load.php';
 require_once '${build.dir.wp}/wp-admin/includes/upgrade.php';
 require_once '${build.dir.wp}/wp-includes/wp-db.php';
 $result = wp_install( 'title', 'admin', 'admin@example.com');
]]></adhoc-task>

错误:您定义的ad-hoc类必须是phing的实例。任务构建失败。您定义的adhoc类必须是phing的一个实例。任务

但它仍然有效。。。

如果我把PHP封装在一个类中,它根本不起作用:

<adhoc-task name="foo"><![CDATA[
   class FooTest extends Task {
   //php code ....
   }
]]></adhoc-task>

错误:您必须为AdhocTaskdefTask定义至少一个类

将PHP包含在构建文件中的正确方法是什么(无需访问PHP/phing/tasks文件夹)?

来自test/etc/regression/299/build.xml:

<?xml version="1.0" encoding="utf-8"?>
<project name="test" default="main">
  <target name="main">
    <bar/>
  </target>
  <adhoc-task name="bar"><![CDATA[
      class BarTask extends Task {
          function main() {
              print("BarTask: success!'n");
          }
      }
  ]]></adhoc-task>
</project>