ユースケースを知りたいのですが、モジュールの依存関係がこの領域に影響を及ぼしていることがわかります。これは、すべての構成ファイルがモジュール宣言エントリ+依存関係の仕様に従ってロードされるためです。
POC
1.5.1.1で検証済み:
app / etc / modules / a.xml
<?xml version="1.0" encoding="UTF-8"?>
<config>
<modules>
<Foo_Module>
<active>true</active>
<codePool>local</codePool>
</Foo_Module>
<Mage_Eav>
<depends>
<Foo_Module />
</depends>
</Mage_Eav>
</modules>
</config>
app / code / local / Foo / Module / etc / config.xml
<?xml version="1.0" encoding="UTF-8"?>
<config>
<modules>
<Foo_Module>
<version>0.1</version>
</Foo_Module>
</modules>
<global>
<resources>
<foo_module_setup>
<setup>
<module>Foo_Module</module>
</setup>
</foo_module_setup>
</resources>
</global>
</config>
Mage_Core_Model_App
:
public function run($params)
{
$options = isset($params['options']) ? $params['options'] : array();
$this->baseInit($options);
if ($this->_cache->processRequest()) {
$this->getResponse()->sendResponse();
} else {
$this->_initModules();
$this->loadAreaPart(Mage_Core_Model_App_Area::AREA_GLOBAL, Mage_Core_Model_App_Area::PART_EVENTS);
if ($this->_config->isLocalConfigLoaded()) {
$scopeCode = isset($params['scope_code']) ? $params['scope_code'] : '';
$scopeType = isset($params['scope_type']) ? $params['scope_type'] : 'store';
$this->_initCurrentStore($scopeCode, $scopeType);
$this->_initRequest();
/*Dump resource node here: */
var_dump(Mage::getConfig()->getNode('global/resources')->children()); die;
Mage_Core_Model_Resource_Setup::applyAllDataUpdates();
}
$this->getFrontController()->dispatch();
}
return $this;
}