Se debería proporcionar una array de configuración o una ruta a un fichero de configuración ini (véase Yaf_Config_Ini) a Yaf_Application::__construct().
Yaf fusionará las configuraciones de la aplicación y del usuario automáticamente. Las configuraciones de la aplicación tienen el prefijo "yaf." o "application.". Si existen ambos prefijos, "yaf." y "application.", "application." tendrá preferencia.
Ejemplo #1 Un ejemplo de array de PHP
<?php
$configs = array(
"application" => array(
"directory" => dirname(__FILE__),
"dispatcher" => array(
"catchException" => 0,
),
"view" => array(
"ext" => "phtml",
),
),
);
$app = new Yaf_Application($configs);
?>Ejemplo #2 Un ejemplo de un fichero ini
[yaf] yaf.directory = APPLICATION_PATH "/application" yaf.dispatcher.catchException = 0 [product : yaf] ; user configuration list here
Cuando la configuración crece, Yaf_Config_Ini, que
analiza el fichero ini en cada petición, supone una sobrecarga apreciable.
» Yaconf analiza todos los
ficheros ini de un directorio una sola vez al arrancar PHP y mantiene los
valores analizados en memoria compartida. Basta con establecer
yaconf.directory a la carpeta que contiene la
configuración y pasar el array devuelto a
Yaf_Application::__construct():
<?php
// en php.ini: yaconf.directory = /path/to/app/conf
$app = new Yaf_Application(Yaconf::get("application"));
?>
Un fichero que contiene cabeceras [section] se expone
como una entrada por sección (con la herencia, por ejemplo
[product : yaf], ya resuelta). Para recuperar una sola
sección se usa un punto,
Yaconf::get("application.product"), y se pasa ese array
en su lugar; sus claves son exactamente las entradas fusionadas de esa
sección.
| Nombre | Por defecto | Historial de cambios |
|---|---|---|
| application.directory | ||
| application.ext | "php" | |
| application.view.ext | "phtml" | |
| application.modules | "index" | |
| application.library | application.directory . "/library" | |
| application.library.directory | application.directory . "/library" | |
| application.library.namespace | "" | |
| application.bootstrap | application.directory . "/Bootstrap" . application.ext | |
| application.baseUri | "" | |
| application.dispatcher.defaultRoute | ||
| application.dispatcher.throwException | 1 | |
| application.dispatcher.catchException | 0 | |
| application.dispatcher.defaultModule | "index" | |
| application.dispatcher.defaultController | "index" | |
| application.dispatcher.defaultAction | "index" | |
| application.system |
Aquí hay una aclaración sobre el uso de las directivas de configuración.
application.directory
string
El directorio de la aplicación, que es la caperta que contiene las carpetas "controllers", "views", "models", "plugins".
Nota:
Esta entrada de configuración es la única que no tiene un valor por omisión Se debería definir siempre manualmente.
application.ext
string
La extensión de fichero del script de PHP, usado en la autocarga de clases (Yaf_Loader).
application.view.ext
string
La extensión de fichero de los script de plantilla de vistas.
application.modules
string
Una lista separada por comas de los módulos registrados, usada en el proceso de enrutamiento, especialmente mientras existan más de tres segmentos en PATH_INFO,
Yaf necesita una forma de averiguar si el primer segmento es un nombre de módulo o no.
application.library
string
El directorio de bibliotecas local, véase Yaf_Loader y yaf.library.
Nota:
Después de Yaf 2.1.6, esta entrada de configuración puede ser un array. La ruta de la biblioteca intentará emplear los ítems establecidos en application.library.directory
application.library.directory
string
Alias de application.library. Introducido en Yaf 2.1.6
application.library.namespace
string
Un prefijo separado por comas de nombres de espacios de bibliotecas locales.
Introducido en Yaf 2.1.6
application.bootstrap
string
Una ruta absoluta del script de la clase Bootstrap.
application.baseUri
string
Usado para eliminar un prefijo fijo de un uri de petición en el proceso de enrutamiento. Como ejemplo, una petición con la uri de petición "/prefix/controller/action". Si se establece application.baseUri a "/prefix", solamente se tomará "/controller/action" como PATH_INFO en el proceso de enrutamiento.
En general, no hay necesidad de establecer este valor.
application.dispatcher.throwException
bool
Si es On, Yaf lanzará una excepción mientras ocurra algún error. Véase también Yaf_Dispatcher::throwException().
application.dispatcher.catchException
bool
Si es On, Yaf remitirá al controlador/acción de errores mientras exista una excepción no capturada. Véase también Yaf_Dispatcher::catchException().
application.dispatcher.defaultRoute
string
El enrutamiento por omisión, si no se especifica se usará un enrutamiento estático como por omisión. Véase Yaf_Router::addRoute().
application.dispatcher.defaultModule
string
El nombre de módulo por omisión, véase también Yaf_Dispatcher::setDefaultModule().
application.dispatcher.defaultController
string
El nombre de controlador por omisión, véase también Yaf_Dispatcher::setDefaultController().
application.dispatcher.defaultAction
string
El nombre de acción por omisión, véase también Yaf_Dispatcher::setDefaultAction().
application.system
string
Establecer la configuración en tiempo de ejecuc de yaf en application.ini, como: application.system.lowcase_path
Nota:
Solamente las configuraciones de
INI_ALLse pueden establecer de esta manera.