# tasks/system/IfTask.php

## \ElseIfTask
jump to top

Package: phing\tasks\system

"Inner" class for IfTask.

This class has same basic structure as the IfTask, although of course it doesn't support tags.

Parent(s)
  \ConditionBase < \ProjectComponent

### Properties

`$thenTasks= 'null'`
Default value `null` Details

Type
  n/a

### Methods

`addAvailable( ) : void`

`addThen( $t ) : void`

Parameters

Name | Type | Description
--- | --- | ---
$t |  |

`countConditions( ) : void`

`createAnd( ) : void`

`createContains( ) : void`

`createEquals( ) : void`

`createIsFalse( ) : void`

`createIsSet( ) : void`

`createIsTrue( ) : void`

`createNot( ) : void`

`createOr( ) : void`

`createOs( ) : void`

`createReferenceExists( ) : void`

`evaluate( ) : boolean`

Returns

Type | Description
--- | ---
boolean |

`getConditions( ) : void`

`getIterator( ) : void`

`getProject( ) : void`

`log( ) : void`

`main( ) : void`

`setProject( ) : void`

## \IfTask
jump to top

Package: phing\tasks\system

Perform some tasks based on whether a given condition holds true or not.

This task is heavily based on the Condition framework that can be found in Ant 1.4 and later, therefore it cannot be used in conjunction with versions of Ant prior to 1.4.

This task doesn't have any attributes, the condition to test is specified by a nested element - see the documentation of your

task (see the online documentation for example) for a complete list of nested elements.

Just like the

task, only a single condition can be specified - you combine them using

or

conditions.

In addition to the condition, you can specify three different child elements,

,

and

. All three subelements are optional. Both

and

must not be used more than once inside the if task. Both are containers for Ant tasks, just like Ant's

and

tasks - in fact they are implemented using the same class as Ant's

task.

The

behaves exactly like an

except that it cannot contain the

element inside of it. You may specify as may of these as you like, and the order they are specified is the order they are evaluated in. If the condition on the

is false, then the first

who's conditional evaluates to true will be executed. The

will be executed only if the

and all

conditions are false.

Use the following task to define the

task before you use it the first time:

      <taskdef name="if" classname="net.sf.antcontrib.logic.IfTask" />

### Crude Example

Parent(s)
  \ConditionBase < \ProjectComponent
Author
  Stefan Bodewig

### Properties

`$elseIfTasks= 'array()'`
Default value `array()`Details

Type
  n/a

`$elseTasks= 'null'`
Default value `null` Details

Type
  n/a

`$thenTasks= 'null'`
Default value `null` Details

Type
  n/a

### Methods

`addAvailable( ) : void`

`addElse( $e ) : void`

A nested element - a container of tasks that will be run if the condition doesn't hold true.

Not required.

Parameters

Name | Type | Description
--- | --- | ---
$e |  |

`addElseIf( $ei ) : void`

Parameters

Name | Type | Description
--- | --- | ---
$ei |  |

`addThen( $t ) : void`

A nested element - a container of tasks that will be run if the condition holds true.

Not required.

Parameters

Name | Type | Description
--- | --- | ---
$t |  |

`countConditions( ) : void`

`createAnd( ) : void`

`createContains( ) : void`

`createEquals( ) : void`

`createIsFalse( ) : void`

`createIsSet( ) : void`

`createIsTrue( ) : void`

`createNot( ) : void`

`createOr( ) : void`

`createOs( ) : void`

`createReferenceExists( ) : void`

`getConditions( ) : void`

`getIterator( ) : void`

`getProject( ) : void`

`log( ) : void`

`main( ) : void`

`setProject( ) : void`

Documentation was generated by DocBlox 0.17.1.