B.25 PhingCallTask
Prev | Appendix B. Core tasks | Next

## B.25 PhingCallTask

The PhingCallTask calls a target within the same Phing project.

A `<phingcall>` tag may contain `<property>` tags that define new properties. These properties are only set if properties of the same name have not been set outside the `"phingcall"` tag.

When a target is invoked by `phingcall`, all of its dependent targets will also be called within the context of any new parameters. For example. if the target "doSomethingElse" depended on the target "init", then using `phingcall` to execute "doSomethingElse" will also execute "init". Note: the top level tasks of a project will always be executed!

Table B.26: Attributes

Name | Type/Values | Description | Default | Required
--- | --- | --- | --- | ---
`target` | `String` | The name of the target in the same project that is to be called. | n/a | Yes

### Note

Local scope.

Every `<phingcall>` tag creates a new local scope. Thus, any properties or other variables set inside that scope will cease to exist (or revert to their previous value) once the `<phingcall>` tag completes.

### B.25.1 Examples

    <target name="foo">
        <phingcall target="bar">
            <property name="property1" value="aaaaa" />
            <property name="foo" value="baz" />
        </phingcall>
    </target>

In the example above, the properties `property1` and `foo` are defined and only accessible inside the called target.

    <target name="bar" depends="init">
        <echo message="prop is ${property1} ${foo}" />
    </target>

### B.25.2 Supported Nested Tags

- `property`

- `param` (alias for property)

Prev | Up | Next
B.24 PhingTask | Home | B.26 PhpEvalTask