рд╢реБрдн рджреЛрдкрд╣рд░, рд╣рдмрд╛рд╢рд┐рдпрддред
рдпрд╣ рдореЗрд░рд╛ рдкрд╣рд▓рд╛ рд▓реЗрдЦ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХрдбрд╝рд╛рдИ рд╕реЗ рдиреНрдпрд╛рдп рди рдХрд░реЗрдВред рдХрдИ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдореИрдВ Magento рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдСрдирд▓рд╛рдЗрди рд╕реНрдЯреЛрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдЗрд╕ рд╕рдордп рдХреЗ рджреМрд░рд╛рди, рдореИрдВрдиреЗ рдЗрд╕ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рдХрд╛рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рдЬрд╛рдирдХрд╛рд░реА рдЬрдорд╛ рдХреА рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рд╕рд┐рд░ рдореЗрдВ рдирд╣реАрдВ рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕реЗ рд▓реЗрдЦреЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рдХреМрди рдкрд░рд╡рд╛рд╣ рдХрд░рддрд╛ рд╣реИ, рдмрд┐рд▓реНрд▓реА рдореЗрдВ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред
Magento- рдЖрдзрд╛рд░рд┐рдд рдСрдирд▓рд╛рдЗрди рд╕реНрдЯреЛрд░ рдореЗрдВ рдкреГрд╖реНрдареЛрдВ рдХреА рдХреЛрдИ рднреА рдкрд╣реБрдВрдЪ index.php рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИред рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рдПрдХ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рддреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ PHP рд╕рдВрд╕реНрдХрд░рдг рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ, рд╕реНрдерд┐рд░рд╛рдВрдХ рдШреЛрд╖рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ Mage.php рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде Mage рдмреЗрд╕ рдХреНрд▓рд╛рд╕ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред рдпрд╣ рд╡рд░реНрдЧ рдХрдИ рджрд┐рд▓рдЪрд╕реНрдк рддрд░реАрдХреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдж рдХреЗ рд▓реЗрдЦ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреА, рд▓реЗрдХрд┐рди рдлрд┐рд▓рд╣рд╛рд▓ рд╣рдо рдПрдХ рд╡рд┐рдзрд┐ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ
рд░рди, рд╕реНрдЯреЛрд░ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ред рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЗрдВ рдХреИрд╕реЗ рднрд░реА рд╣реБрдИ рд╣реИрдВ, рдЗрд╕ рд╡рд┐рдзрд┐ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
self::$_app = new Mage_Core_Model_App(); if (isset($options['request'])) { self::$_app->setRequest($options['request']); } if (isset($options['response'])) { self::$_app->setResponse($options['response']); } self::$_events = new Varien_Event_Collection(); self::_setIsInstalled($options); self::_setConfigModel($options); self::$_app->run(array( 'scope_code' => $code, 'scope_type' => $type, 'options' => $options, ));
рдпрд╣ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рдзрд┐ рдореЗрдВ рдПрдХ рдирдпрд╛ рд╡рд░реНрдЧ Mage_Core_Model_App рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд░рди рд╡рд┐рдзрд┐ рдХреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрд╕ рд╡рд┐рдзрд┐ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
public function run($params) { $options = isset($params['options']) ? $params['options'] : array(); $this->baseInit($options); Mage::register('application_params', $params); 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(); Mage_Core_Model_Resource_Setup::applyAllDataUpdates(); } $this->getFrontController()->dispatch(); } return $this; }
BaseInit рд╡рд┐рдзрд┐ _config рдЧреБрдг рдХреЛ рдкреНрд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдФрд░ рдЖрдзрд╛рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдореВрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди _initBaseConfig рдкрджреНрдзрддрд┐ рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдмрд╛рдж рдореЗрдВ Mage_Core_Model_Config рд╡рд░реНрдЧ рд╕реЗ рд▓реЛрдбрдмреЗрд╕ рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред
рд▓реЛрдбрдмреЗрд╕ рд╡рд┐рдзрд┐ рдкрд╛рд░реНрд╕ рдХрд░рддреА рд╣реИ рдФрд░ Mage_Core_Model_Config рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА _xml рд╕рдВрдкрддреНрддрд┐ рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ / app / etc / local.xml рдФрд░ app / etc / config.xml рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рдмрдЪрд╛рддрд╛ рд╣реИред рдЗрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдФрд░ рдСрдирд▓рд╛рдЗрди рд╕реНрдЯреЛрд░ рдХреА рдмреБрдирд┐рдпрд╛рджреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рддрдХ рдкрд╣реБрдВрдЪ рд╣реЛрддреА рд╣реИред
рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдореЙрдбреНрдпреВрд▓ рдХреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЗрдВ рд▓реЛрдб рдХреА рдЬрд╛рддреА рд╣реИрдВред _InitModules рд╡рд┐рдзрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ, Mage_Core_Model_Config рд╡рд░реНрдЧ рд╕реЗ рд▓реЛрдбрдореЙрдбреНрдпреВрд▓реНрд╕ рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рддреА рд╣реИред
рдореЙрдбреНрдпреВрд▓ рдХреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓реЗ рдРрдк / рдЖрджрд┐ / рдореЙрдбреНрдпреВрд▓ рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ рд╕рднреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд▓реЛрдб рдХреА рдЬрд╛рддреА рд╣реИ рдФрд░ рдЗрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред _LoadDeclaredModules рд╡рд┐рдзрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рд▓реЛрдбрдореЙрдбреНрдпреВрд▓ рд╡рд┐рдзрд┐ рдореЙрдбреНрдпреВрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЖрджрд┐ рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ рдХреЗрд╡рд▓ рджреЛ рдкреНрд░рдХрд╛рд░ рдХреА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреА рд╣реИ:
- 1. confix.xml
- 2. configред {рд░рд┐рд╕реЛрд░реНрд╕_рдирд╛рдо} .xml (рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, config.mysql4.xml)
рдЙрдиреНрд╣реЗрдВ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд▓реЛрдбрдореЙрдбреНрдпреВрд▓реНрд╕рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╡рд┐рдзрд┐ рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо (config.xml рдФрд░ config.mysql4.xml) рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░рдгреА $ fileName рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ

рдЕрдЧрд▓реЗ, рд╕рднреА рд╕рдХреНрд░рд┐рдп рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП _xml рд╕рдВрдкрддреНрддрд┐ рдореЗрдВ рдбреЗрдЯрд╛ рдкрд╛рд░реНрд╕ рдФрд░ рд▓реЛрдб рдХрд░рдирд╛ рд╣реИ:
$modules = $this->getNode('modules')->children(); foreach ($modules as $modName=>$module) { if ($module->is('active')) { if ($disableLocalModules && ('local' === (string)$module->codePool)) { continue; } if (!is_array($fileName)) { $fileName = array($fileName); } foreach ($fileName as $configFile) { $configFile = $this->getModuleDir('etc', $modName).DS.$configFile; if ($mergeModel->loadFile($configFile)) { $mergeToObject->extend($mergeModel, true); } } } }
рд╕реНрдерд╛рдиреАрдпред Xml рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдСрдирд▓рд╛рдЗрди рд╕реНрдЯреЛрд░ рдХреЗ рдореВрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдЕрдкрдиреЗ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╣ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдбрд╛рдЙрдирд▓реЛрдб рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЙрд╕реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЙрд╕ рдкреГрд╖реНрда рдХреЗ рд░рд╛рдЙрдЯрд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕ рдкрд░ рдЖрдкрдиреЗ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ рдерд╛ред
рдЖрдкрдХреЗ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореИрдВ рдЖрдкрдХреА рдЖрд▓реЛрдЪрдирд╛ рдХрд╛ рдЖрдирдВрдж рдХреЗ рд╕рд╛рде рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред