The task shown [above] must somehow get loaded and called by Phing. Therefore it must be made available to Phing so that the buildfile parser is aware a correlating XML element and it's parameters. Have a look at the minimalistic buildfile example given in [the buildfile below] that does exactly this.
<?xml version="1.0" ?> <project name="test" basedir="." default="test.myecho"> <includepath classpath="/home/example/classes" /> <taskdef name="myecho" classname="MyEchoTask" /> <target name="test.myecho"> <myecho message="Hello World" /> </target> </project>
To register the custom task with Phing, the
taskdef
element (line 5) is used. See the section called “TaskdefTask ” for
a more detailed explanation.
Optionally, before the taskdef
element,
the includepath
element adds a path
to PHP's include path. This is of course only required if the mentioned
path isn't already on the include path. See the section called “IncludePathTask ” for
a more detailed explanation.
Now, as we have registered the task by assigning a name and the worker class
([see source code above]) it is ready for usage within the
<target>
context (line 8). You see that we pass the
message that our task should echo to the screen via an XML attribute called
"message".