El constructor de la clase Zend_Console_Getopt toma
de uno a tres argumentos. El primer argumento
declara qué opciones admite su aplicación.
Esta clase admite formas de sintaxis alternativas para declarar las opciones.
Consulte las secciones siguientes para conocer el formato y el uso de estas formas de sintaxis.
El constructor toma dos argumentos más, ambos opcionales.
El segundo argumento puede contener los argumentos de línea de comandos.
Por defecto es $_SERVER['argv'].
El tercer argumento del constructor puede contener opciones de
configuración para personalizar el comportamiento de
Zend_Console_Getopt.
Consulte Adding Configuration
para conocer las opciones disponibles.
Zend_Console_Getopt admite una sintaxis compacta similar
a la utilizada por GNU Getopt (véase http://www.gnu.org/software/libc/manual/html_node/Getopt.html.
Esta sintaxis solo admite indicadores de un único carácter. En una única
cadena, escriba cada una de las letras que corresponden a los indicadores
admitidos por su aplicación. Una letra seguida de un carácter de dos puntos
(:) indica un indicador que requiere un
parámetro.
El ejemplo anterior muestra el uso de Zend_Console_Getopt
para declarar que las opciones se pueden dar como -a,
-b, o -p. Este último indicador
requiere un parámetro.
La sintaxis corta se limita a indicadores de un único carácter. Los alias, los tipos de parámetro y las cadenas de ayuda no son compatibles en la sintaxis corta.
También está disponible una sintaxis diferente con más funciones. Esta sintaxis le permite especificar alias para los indicadores, tipos de parámetros de opción, y también cadenas de ayuda para describir el uso al usuario. En lugar de la única cadena utilizada en la sintaxis corta para declarar las opciones, la sintaxis larga usa un array asociativo como primer argumento del constructor.
La clave de cada elemento del array asociativo es una cadena con un formato que nombra el indicador, con cualquier alias, separados por el símbolo de barra vertical ("|"). Después de esta serie de alias de indicadores, si la opción requiere un parámetro, hay un símbolo de igual ("=") con una letra que representa el tipo del parámetro:
"=s" para un parámetro de tipo cadena
"=w" para un parámetro de tipo palabra (una cadena que no contiene espacios en blanco)
"=i" para un parámetro de tipo entero
Si el parámetro es opcional, use un guion ("-") en lugar del símbolo de igual.
El valor de cada elemento en el array asociativo es una cadena de ayuda para describir a un usuario cómo utilizar su programa.
Ejemplo 23.2. Uso de la sintaxis larga
$opts = new Zend_Console_Getopt(
array(
'apple|a' => 'apple option, with no parameter',
'banana|b=i' => 'banana option, with required integer parameter',
'pear|p-s' => 'pear option, with optional string parameter'
)
);
En la declaración de ejemplo anterior, hay tres opciones. --apple y -a son alias entre sí, y la opción no toma ningún parámetro. --banana y -b son alias entre sí, y la opción toma un parámetro entero obligatorio. Por último, --pear y -p son alias entre sí, y la opción puede tomar un parámetro de tipo cadena opcional.