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

时间:2012-08-25 18:19:51

标签: php phing

我使用adhoc-task直接在Phing build.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>

错误:您定义的adhoc类必须是phing.Task BUILD FAILED的实例。您定义的adhoc类必须是phing.Task 的实例

但它仍然有效......

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

<adhoc-task name="foo"><![CDATA[

   class FooTest extends Task {
   //php code ....
   }
]]></adhoc-task>

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

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

1 个答案:

答案 0 :(得分:2)

来自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>