Как правильно использовать 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>