En el último artículo de Phing nos habíamos quedado en la introducción de datos, y con la posibilidad de definir las opciones que tiene el usuario. Vamos a ver dos funcionalidades más de Phing.
Valor de variable1
El contexto de las variables es el mismo que el de su creación: es decir, una variable creada en un target sólo estará disponible en su propio target. Si se crea en el contexto
...Variable1 has value ${var1}
...
Así que ahora ya puedes generar y utilizar variables en los builds.
El contenido de un archivo de propiedades al que, por ejemplo, puede tener un archivo INI. Es decir, un conjunto de claves y valores, pero sin apartados [separados por títulos con claves].
# Los archivos de propiedades contienen pares clave/valor
# Los valores de propiedades pueden contener:
# 1. caracteres alfanuméricos
# 2. y puntos
# Pero no pueden contener caracteres especiales
# Aprovecha para crear "namespaces" de variables
myapp.cache.enable=1
myapp.cache.ttl=500
myapp.session.save=1
......
Propiedad | Contenido |
---|---|
application.startdir | Directorio actual de ejecución |
env.* | Variables de entorno extraídas de $_SERVER. |
host.arch | Arquitectura del sistema, ej. i586. No disponible en equipos Windows |
host.domain | Nombre del dominio, ej. php.net. No disponible en equipos Windows |
host.fstype | Tipo de sistema de archivos. Los valores posibles son UNIX, WINNT y WIN32 |
host.name | Nombre de host del sistema operativo, según lo retorna la función posix_uname(). No disponible en equipos Windows. |
host.os | Descripción del sistema operativo, proporcionada por la variable PHP_OS |
host.os.release | Número de entrega del sistema operativo. No disponible en equipos Windows. |
host.os.version | Versión del sistema operativo i.e. #4 Tue Jul 20 17:01:36 MEST 1999. No disponible en equipos Windows |
line.separator | Caracter(es) que marcan el final de línea, "\n" para Linux, "\r\n" para Windows, "\r" para Macintosh. |
os.name | Descripción del sistema operativo, proporcionada por la variable PHP_OS |
phing.file | Ruta completa hasta el archivo build. |
phing.dir | Ruta que contiene el buildfile actual. |
phing.home | Directorio de instalación de Phing, no indicado en las instalaciones desde PEAR. |
phing.version | Versión actual de Phing. |
phing.project.name | Nombre del proyecto que se procesa en este momento. |
php.classpath | Valor de la variable de entorno PHP_CLASSPATH. |
php.version | Versión del intérprete PHP. El mismo que la constante PHP_VERSION. |
project.basedir | El directorio base actual. |
user.home | Valor de la variable de entorno HOME. |
Por ejemplo, uno muy sencillito: obtener el nombre del usuario que está ejecutando el script:
El comando whoami nos devuelve el nombre de usuario que está autenticado en la consola. Puedes ejecutarlo directamente en una consola y verificar que retorna los mismos valores.
Con esta opción tan sencilla, tendremos una variable llamada username que tendrá el nombre del usuario. Y podremos ejecutar algo así como:
El usuario ${username} está ejecutando el script
El comando
© 2007 and beyond Mario Alberich, licensed under CC-BY-SA unless stated otherwise.