You should give an array of config or an ini config file(see Yaf_Config_Ini) path to Yaf_Application::__construct().
Yaf configurations could be merged with user configurations. The difference is, Yaf configurations are prefixed with "yaf." or "application.", if there are both "yaf." and "application.", "application." will be used.
Example #1 An array of yaf configuration example
<?php
$configs = array(
"application" => array(
"directory" => dirname(__FILE__),
"dispatcher" => array(
"catchException" => 0,
),
"view" => array(
"ext" => "phtml",
),
),
);
$app = new Yaf_Application($config);
?>
Example #2 an ini file of yaf configuration example
[yaf] yaf.directory = APPLICATION_PATH "/appliation" yaf.dispatcher.catchException = 0 [product : yaf] ; user configuration list here
Name | Default | Changelog |
---|---|---|
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 |
Here's a short explanation of the configuration directives.
application.directory
string
The directory of the application, that is the folder which contains the "controllers", "views", "models", "plugins" folders.
Note:
This config entry is the only one which doesn't has a default value, which means you should always define it.
application.ext
string
The file ext of the PHP script, used in class autoloading( Yaf_Loader).
application.view.ext
string
The file ext of the view template script.
application.modules
string
A comma-separated list of the registered modules, used in the route process, especially while there are more than three segments in the PATH_INFO,
Yaf need a way to find out whether the first segment is a module name or not.
application.library
string
The local library directory, see Yaf_Loader and yaf.library.
Note:
As of Yaf 2.1.6, this config entry can also be a array, when it is array, then the library path will try to use the value of application.library.directory
application.library.directory
string
Alias of application.library. Introduced in Yaf 2.1.6
application.library.namespace
string
A comma-separated prefix of local library namespace.
Introduced in Yaf 2.1.6
application.bootstrap
string
A absolute path of the Bootstrap class script.
application.baseUri
string
Used to remove a fixed prefix of request uri in route process. Take a example, comes a request with request uri "/prefix/controller/action". if you set application.baseUri to "/prefix", then only "/controller/action" will take as the PATH_INFO in route process.
In generally, you have no need to set this value.
application.dispatcher.throwException
bool
If this is On, Yaf will throw exception while some error occurring. see also Yaf_Dispatcher::throwException().
application.dispatcher.catchException
bool
If this is On, Yaf will forward to Error controller, Error Action while there is a uncaught exception. see also Yaf_Dispatcher::catchException().
application.dispatcher.defaultRoute
string
The default Route, if it is not specificed, Static route will be used as default route, see: Yaf_Router::addRoute().
application.dispatcher.defaultModule
string
The default module name, see also Yaf_Dispatcher::setDefaultModule().
application.dispatcher.defaultController
string
The default controller name, see also Yaf_Dispatcher::setDefaultController().
application.dispatcher.defaultAction
string
The default action name, see also Yaf_Dispatcher::setDefaultAction().
application.system
string
Set yaf runtime configure in application.ini, like: application.system.lowcase_path
Note:
only those PHP_INI_ALL configures can be set in this way