2

我正在使用 .php 直接在 Phing build.xml文件中编写 PHP adhoc-task

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

<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.The adhoc class must be an instance of phing.Task

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

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

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

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

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

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

4

1 回答 1

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>
于 2012-09-17T08:09:39.470 回答