Esempio n. 1
0
 /**
  * Initializes application kernel.
  * Ўаблонный метод определ¤ет основу алгоритма и позвол¤ет наследникам переопредел¤ть
  * некоторые шаги алгоритма, не измен¤¤ его структуру в целом.
  *
  * @param System\IApplicationStrategy $initStrategy
  */
 protected final function initializeKernel(\Bitrix\Main\System\IApplicationStrategy $initStrategy = null)
 {
     /*** Ѕазова¤ инициализаци¤, без которой нельз¤ ***/
     $this->initializeExceptionHandler();
     //<start.php>
     // подключение конфига
     // константы
     // соединение
     $this->createDatabaseConnection();
     if ($initStrategy != null) {
         $initStrategy->createDatabaseConnection();
     }
     // в проактивной защите нужно делать поддержку контекста
     $this->initializeContext();
     if ($initStrategy != null) {
         $initStrategy->initializeContext();
     }
     /// это не нужно
     //</start.php>
     //<include.php>
     //error_reporting(\COption::getOptionInt("main", "error_reporting", E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR|E_PARSE) & ~E_STRICT);
     // это видимо на страницу, но нужно до апдейтера
     //if(!defined("BX_COMP_MANAGED_CACHE") && \COption::getOptionString("main", "component_managed_cache_on", "Y") <> "N")
     //	define("BX_COMP_MANAGED_CACHE", true);
     // определ¤етс¤ сайт и ¤зык
     // видимо, определение ¤зыка нужно куда-то отдельно
     // и там еще $APPLICATION->reinitPath
     $this->initializeCulture();
     // добавить после этого инициализацию переменных
     $this->initializeBasicKernel();
     if ($initStrategy != null) {
         $initStrategy->initializeBasicKernel();
     }
     /*** Ћицензии и обновлени¤ ***/
     $this->updateMainDb();
     // нужны переделки контроллера и тогда делать редирект
     $this->updateModulesDB();
     $this->initializeDispatcher();
     if ($initStrategy != null) {
         $initStrategy->initializeDispatcher();
     }
     /*** ѕереопределение пути ***/
     $this->rewriteUrlIfNeeded();
     /*** –асширенна¤ инициализаци¤ ***/
     // выполнение кастомных скриптов инициализации и определение констант после init.php
     $this->runInitScripts();
     if ($initStrategy != null) {
         $initStrategy->runInitScripts();
     }
     $this->initializeExtendedKernel();
     if ($initStrategy != null) {
         $initStrategy->initializeExtendedKernel();
     }
 }