Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从项目目录加载自定义Phing任务_Php_Phing - Fatal编程技术网

Php 从项目目录加载自定义Phing任务

Php 从项目目录加载自定义Phing任务,php,phing,Php,Phing,在回顾了关于如何使用PHP编写自定义任务的介绍之后。我想知道是否可以将PHP源文件放在我的项目文件夹中 文档中说,任务PHP文件必须放在class/phing/tasks/my中,然后才能使用此命令加载它们 <taskdef name="myecho" classname="phing.tasks.my.MyEchoTask" /> 如果源文件在“我的项目”文件夹之外,则很难在版本控制下维护特定于项目的任务 如果在生成文件中引用这样的自定义任务,是否可以更改它们的加载位置?:

在回顾了关于如何使用PHP编写自定义任务的介绍之后。我想知道是否可以将PHP源文件放在我的项目文件夹中

文档中说,任务PHP文件必须放在class/phing/tasks/my中,然后才能使用此命令加载它们

<taskdef name="myecho" classname="phing.tasks.my.MyEchoTask" />

如果源文件在“我的项目”文件夹之外,则很难在版本控制下维护特定于项目的任务


如果在生成文件中引用这样的自定义任务,是否可以更改它们的加载位置?

<taskdef name="myecho" classname="my.tasks.MyEchoTask" />

Phing将在您当前目录下(我相信)查找名为
my/tasks
的目录


对于我自己的东西,我在源代码树的顶层有一个名为
phing
的目录,我只需将任务放在该文件夹中,并使用类名
phing。

此外,您可以从build.xml文件中指定自定义任务的包含路径

其中${srcPath}是定义项目根目录的属性,“build”是放置build.xml文件的位置


谢谢,这太好了。但是,如果我们需要phing/Task.php,您如何确保它是跨操作系统的正确路径?对于遇到与我上面的评论/问题相同问题的任何人,下面是我所做的:$pear_path=trim(shell_exec('pear config get php_dir');require_once($pear_path.'/phing/Task.php');require_once($pear_path./phing/tasks/ext/svn/SvnBaseTask.php));