webapp/modules/dicon.ini
このファイルの読み込みは、
webapp/modules/maple.ini の [DIContainer::globalDIContainer] にて指定される。
Filter_DIContainer により読み込まれ、下記の DIContainer が設定される
commonMain: webapp/components/common/Main.class.php
configView: webapp/components/config/View.class.php
pagesView: webapp/components/pages/View.class.php
blocksView: webapp/components/blocks/View.class.php
modulesView: webapp/components/modules/View.class.php
;encryptionView: webapp/components/encryption/View.class.php
requestMain: webapp/components/request/Main.class.php
sitesView: webapp/components/sites/View.class.php
usersView: webapp/components/users/View.class.php
authoritiesView: webapp/components/authorities/View.class.php
authCheck: webapp/components/authcheck/Main.class.php
monthlynumberAction: webapp/components/monthlynumber/Action.class.php
preexecuteMain: webapp/components/preexecute/Main.class.php
whatsnewAction: webapp/components/whatsnew/Action.class.php
mobileView: webapp/components/mobile/View.class.php
abbreviateurlView: webapp/components/abbreviateurl/View.class.php
abbreviateurlAction: webapp/components/abbreviateurl/Action.class.php
authCheck はクラス変数として、下記のコンポーネントが設定される。
session
request
authoritiesView
getdata
pagesView
usersView
下記のような流れで実行される。
Controller->execute()
FilterChain->execute()
Filter_DIContainer->_prefilter()
DIContainerInitializer->loadConfig()
ConfigParser->start()
ConfigParser->read_ini_file()
{
// webapp/modules/dicon.ini の読み込み
$lines = file($filename)
}
DIContainerInitializer->doSectionAfterParse()
DIContainerInitializer->_register2Container()
ComponentLocator->getComponent()
ComponentLocator_Component->_initComponent()
UniFactory->createInstance()
UniFactory->_createInstance()
{
// コンポーネント・オブジェクトを生成する
$obj =& new $className();
// authCheck のときは、クラス変数としてコンポーネントを設定する
$obj->$argName =& $args[$argName];
}
DIContainer->register( ConfigExtraUtils Object, ConfigUtils )
{
// DIContainer への設定
$this->_components[$name] =& $component;
}
参考
ネットコモンズのひみつ