Desde Zend Framework 1.9, Zend_Tool_Framework permite a los
desarrolladores almacenar información, valores de configuración específicos del proveedor,
y archivos personalizados en una ubicación especial en la máquina del desarrollador. Estos
valores de configuración y archivos pueden ser usados por los proveedores para extender
funcionalidad, personalizar funcionalidad, o cualquier otro motivo que un proveedor
considere adecuado.
El propósito principal, y el propósito más utilizado inmediatamente por los proveedores existentes, es permitir a los desarrolladores personalizar la forma en que los proveedores "listos para usar" realizan su trabajo.
Una de las funcionalidades más solicitadas es poder proporcionar perfiles de proyecto
personalizados al proveedor de proyectos de Zend_Tool_Project.
Esto permitiría a los desarrolladores almacenar un perfil personalizado en un lugar especial
que puede ser usado repetidamente por el sistema Zend_Tool para
construir perfiles personalizados. Otra funcionalidad comúnmente solicitada es poder
configurar el comportamiento de los proveedores con un ajuste de configuración. Para
lograr esto, no solo necesitamos tener un archivo de configuración de
Zend_Tool, sino que también necesitamos tener un lugar donde
encontrar este archivo de configuración.
Antes de que el cliente de consola pueda comenzar a buscar un archivo de configuración
de Zend_Tool o un directorio de almacenamiento local, primero
debe poder identificar dónde se encuentra el "directorio de inicio".
En máquinas basadas en *nix, PHP tendrá disponible una
variable de entorno llamada HOME con una ruta al directorio
de inicio del usuario actual. Típicamente, esta ruta será muy similar a
/home/miusuario.
En máquinas basadas en Windows, PHP típicamente tendrá
disponible una variable de entorno llamada HOMEPATH con el
directorio de inicio del usuario actual. Este directorio se encuentra usualmente en
C:\Documents and Settings\Username\, o en Vista en
C:\Users\Username.
Si no se puede encontrar un directorio de inicio, o si desea cambiar la ubicación en
la que el cliente de consola de Zend_Tool_Framework encuentra
el directorio de inicio, puede proporcionar una variable de entorno llamada
ZF_HOME para especificar dónde encontrar el directorio de
inicio.
Una vez que se puede localizar un directorio de inicio, el cliente de consola de
Zend_Tool_Framework puede autodescubrir el directorio de
almacenamiento local, o puede indicársele dónde esperar el directorio de almacenamiento
local.
Suponiendo que se ha encontrado el directorio de inicio (aquí denotado como
$HOME), el cliente de consola buscará entonces el directorio
de almacenamiento local en $HOME/.zf/. Si se encuentra,
establecerá el directorio de almacenamiento local en esta ubicación.
Si no se puede encontrar el directorio, o el desarrollador desea sobrescribir esta
ubicación, esto se puede hacer estableciendo una variable de entorno.
Independientemente de si $HOME se ha establecido previamente
o no, el desarrollador puede proporcionar la variable de entorno
ZF_STORAGE_DIR.
Una vez que se encuentra la ruta a un directorio de almacenamiento local, el directorio
debe existir para que pueda pasarse al entorno de
ejecución de Zend_Tool_Framework, ya que no se creará por
usted.
Al igual que con el almacenamiento local, una vez que se puede localizar un directorio
de inicio, el cliente de consola de Zend_Tool_Framework
puede entonces intentar autodescubrir la ruta a un archivo de configuración, o puede
indicársele específicamente dónde encontrar el archivo de configuración.
Suponiendo que se ha encontrado el directorio de inicio (aquí denotado como
$HOME), el cliente de consola intentará entonces buscar la
existencia de un archivo de configuración ubicado en
$HOME/.zf.ini. Este archivo, si se encuentra, se usará como
el archivo de configuración para Zend_Tool_Framework.
Si esa ubicación no existe, pero sí existe un directorio de almacenamiento local,
entonces el cliente de consola intentará localizar el archivo de configuración dentro
del directorio de almacenamiento local. Suponiendo que el directorio de almacenamiento
local existe en $LOCAL_STORAGE, entonces si existe un archivo
como $LOCAL_STORAGE/zf.ini, será encontrado por el cliente de
consola y utilizado como el archivo de configuración de
Zend_Tool_Framework.
Si el archivo no puede ser autodescubierto o el desarrollador desea especificar la
ubicación del archivo de configuración, el desarrollador puede hacerlo estableciendo
una variable de entorno. Si se establece la variable de entorno
ZF_CONFIG_FILE, entonces su valor se usará como la ubicación
del archivo de configuración a usar con el cliente de consola. La variable
ZF_CONFIG_FILE puede apuntar a cualquier archivo
INI, XML o
PHP legible por Zend_Config.
Si el archivo no existe ni en la ubicación autodescubierta ni en la proporcionada, no
se usará, ya que Zend_Tool_Framework no intenta crear el
archivo automáticamente.
El archivo de configuración debe estructurarse como un archivo de configuración de
Zend_Config, en formato INI,
y sin que se definan secciones. Las claves de primer nivel deben ser usadas por el
proveedor que busca un valor específico. Por ejemplo, si el proveedor "Project" espera
un directorio "profiles", entonces típicamente se entenderá que buscará el siguiente
par clave-valor INI:
project.profile = some/path/to/some-directory
El único prefijo INI reservado es el valor "php". El prefijo "php" para los valores se reserva para almacenar nombres y valores de configuraciones de PHP ajustables en tiempo de ejecución, como include_path o error_reporting. Para sobrescribir include_path y error_reporting con un valor INI, un desarrollador establecería:
php.include_path = "/path/to/includes1:/path/to/includes2" php.error_reporting = 1
![]() |
Importante |
|---|---|
El prefijo reservado "php" solo funciona con archivos INI. No puede establecer valores INI de PHP con configuración PHP o XML. |
![[Important]](images/important.png)