Как правильно использовать PHP в файле сборки Phing?

Я пишу PHP прямо внутри файла Phing build.xml, используя 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. Определенный вами adhoc класс должен быть экземпляром phing.Task

Но это все еще работает...

Если я оберну PHP в классе, он не будет работать вообще:

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

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

Ошибка: необходимо указать хотя бы один класс для AdhocTaskdefTask.

Как правильно включить PHP в файл сборки (не имея доступа к папке php/phing/tasks)?

1 ответ

Решение

От 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>
Другие вопросы по тегам