From 0f34cca749fade963acd014aff526067b00bc49e Mon Sep 17 00:00:00 2001 From: ctrlaltca <> Date: Fri, 8 Feb 2013 16:49:58 +0000 Subject: merged to trunk/ all the changes from branch/3.2 up to r3270 --- .../protected/pages/Configurations/AppConfig.page | 57 ++++++++++++++++++++++ 1 file changed, 57 insertions(+) (limited to 'demos/quickstart/protected/pages/Configurations') diff --git a/demos/quickstart/protected/pages/Configurations/AppConfig.page b/demos/quickstart/protected/pages/Configurations/AppConfig.page index 83f1bc7e..7887d959 100644 --- a/demos/quickstart/protected/pages/Configurations/AppConfig.page +++ b/demos/quickstart/protected/pages/Configurations/AppConfig.page @@ -56,4 +56,61 @@ An external configuration file has the same format as described above. Although By default without explicit configuration, a PRADO application will load a few core modules, such as THttpRequest, THttpResponse, etc. It will also provide the TPageService as a default service. Configuration and usage of these modules and services are covered in individual sections of this tutorial. Note, if your application takes default settings for these modules and service, you do not need to provide an application configuration. However, if these modules or services are not sufficient, or you want to change their behavior by configuring their property values, you will need an application configuration.

+ +

+By default PRADO instanciates all modules defined in the application configuration at the beginning of the application lifecycle. This can hit the application performance if you have a lot of modules defined but not used at every request. +Since version 3.2.2 you can set the lazy property on modules defined in the application configuration to enable the lazy loading of that module. + + + + + + + +A module with the lazy property set won't be instanciated until the first time it gets actually used by the application: + + + // requesting the lazy module to the application will instanciate it + Prado::getApplication()->getModule('ModuleID'); + +

+ + +

+Since version 3.2 the application configuration can be stored in PHP array format in a file named application.php. +The format of the configuration file is exactly the same of its XML counterpart, but following the PHP syntax. +

+ + + array( + 'PropertyName' => 'PropertyValue' + ), + 'modules' => array( + 'ModuleID' => array( + 'class' => 'ModuleClass', + 'properties' => array( + 'PropertyName' => 'PropertyValue' + ), + ), + ), + 'services' => array( + 'ServiceID' => array( + 'class' => 'ServiceClass', + 'properties' => array( + 'PropertyName' => 'PropertyValue' + ), + ), + ), +); + + +The use of a PHP application configuration must be defined in the TApplication constructor, tipically located in the index.php entry script: + + +$application=new TApplication('protected',false,TApplication::CONFIG_TYPE_PHP); +$application->run(); + + -- cgit v1.2.3