Ping (IV) - Condiciones y operadores de comparación
Los if's y else's no son muy diferentes en Phing que en el resto de lenguajes. Sí cambia el formato en el que se presentan, debido a la propia estructura del XML. Y en algunos casos es necesario atender a los detalles.
El if más simple
Aquí lo tienes. Poco más simple puede ser:
a = b
También puedes añadir un else...
a = b
a != b
O un elseif...
a = b
a = c
a != b
Entonces, ¿ya está? No, ahora se complica un pelín más, pero sólo un pelín.
Operadores booleanos en la comparación
A diferencia de otros muchas tareas (o tags, si lo prefieres) de Phing, if no lleva directamente argumentos, sino que todo se realiza mediante los tags hijos (
nested elements en la documentación de Phing). Entonces, una comparación que incluya un operador OR se mostraría así:
...
Pues no parece tan difícil, ¿verdad? Pues a ver con un
not...
...
Y entonces, un
and dentro del
or, ¿cómo queda?
...
Todo esto se puede ir complicando hasta ciertos límites. Lo que sucede es que los mismos tags actúan como "paréntesis", definen el contexto de la comparación, por lo que está claro qué orden de comparaciones se ejecutarán en cada estado de la operación.
Al final, no resulta tan difícil, ¿verdad?
Operadores que podemos usar dentro de un if
Aquí tienes una
lista de los nested operators que puedes utilizar dentro de un bloque if. échale un vistazo, seguro que se te ocurren cosas ;-).