Skip to content

Commit

Permalink
\Df\Core\Lib
Browse files Browse the repository at this point in the history
  • Loading branch information
dmitrii-fediuk committed Nov 22, 2016
1 parent 9903852 commit 509ddd9
Show file tree
Hide file tree
Showing 21 changed files with 75 additions and 83 deletions.
2 changes: 1 addition & 1 deletion app/code/local/Df/Catalog/Model/Category.php
Original file line number Diff line number Diff line change
Expand Up @@ -241,7 +241,7 @@ protected function _construct() {
* поэтому надо инициализировать Российскую сборку Magento
* http://magento-forum.ru/topic/3732/
*/
Df_Core_Boot::run();
\Df\Core\Boot::run();
}
$this->_useFlatResource = self::useFlatResource() && !$this->_getData('disable_flat');
}
Expand Down
2 changes: 1 addition & 1 deletion app/code/local/Df/Catalog/Model/Product.php
Original file line number Diff line number Diff line change
Expand Up @@ -1096,7 +1096,7 @@ protected function _construct() {
* а системный класс используется при установке ядра,
* в то время, когда Российская сборка ещё не инициализирована.
*/
Df_Core_Boot::run();
\Df\Core\Boot::run();
}
/**
* @used-by \Df\C1\Cml2\Processor\Product\AddExternalId::_construct()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ public function getGeneralGroupName() {return $this->_generalGroupName;}
*/
public function startSetup() {
parent::startSetup();
Df_Core_Boot::run();
\Df\Core\Boot::run();
return $this;
}

Expand Down
4 changes: 2 additions & 2 deletions app/code/local/Df/Compiler/Model/Process.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ class Df_Compiler_Model_Process extends Mage_Compiler_Model_Process {
* @return array
*/
public function getCompileClassList() {
Df_Core_Boot::run();
\Df\Core\Boot::run();
$arrFiles = [];
foreach ($this->getScopes() as $code) {
/** @var array|null $classes */
Expand Down Expand Up @@ -58,7 +58,7 @@ public function getCompileClassList() {
* @return string
*/
protected function _getClassesSourceCode($classes, $scope) {
Df_Core_Boot::run();
\Df\Core\Boot::run();
return
// Видимо, улучшенную компиляцию нельзя отрубать даже по истечению лицензии,
// иначе при неправильной компиляции сайт может перестать работать
Expand Down
19 changes: 8 additions & 11 deletions app/code/local/Df/Core/Autoload.php
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
<?php
class Df_Core_Autoload extends Varien_Autoload {
namespace Df\Core;
class Autoload extends \Varien_Autoload {
/**
* @param string $class
* @return mixed|null
Expand Down Expand Up @@ -50,10 +51,10 @@ public function autoload($class) {
if ($errorMessage) {
if (1 === mb_strlen($errorMessage) && 0 === mb_strlen(df_t()->bomRemove($errorMessage))) {
$errorMessage = sprintf('Дефект: файл «%s» начинается с символа BOM.', $classFile);
Mage::log($errorMessage);
\Mage::log($errorMessage);
}
else {
Mage::log(
\Mage::log(
"При загрузке интерпретатором PHP программного файла «%s» произошёл сбой.\n"
. "Сообщение интерпретатора: «%s»."
,$classFile
Expand All @@ -66,12 +67,8 @@ public function autoload($class) {
return $result;
}

/**
* @used-by Df_Core_Boot::initCore()
* @return void
*/
public static function register() {
/** @var bool $r */
static $r; if (!$r) {$r = spl_autoload_register(array(new self, 'autoload'), true, true);}
}
/** @used-by \Df\Core\Boot::initCore() */
public static function register() {static $r; if (!$r) {$r =
spl_autoload_register([new self, 'autoload'], true, true)
;}}
}
51 changes: 22 additions & 29 deletions app/code/local/Df/Core/Boot.php
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
<?php
class Df_Core_Boot {
namespace Df\Core;
class Boot {
/**
* @used-by Mage_Core_Model_App::_callObserverMethod()
* @return void
Expand All @@ -21,10 +22,10 @@ public function controller_front_init_before() {self::run();}

/**
* @used-by Mage_Core_Model_App::_callObserverMethod()
* @param Varien_Event_Observer $observer
* @param \Varien_Event_Observer $observer
* @return void
*/
public function resource_get_tablename(Varien_Event_Observer $observer) {
public function resource_get_tablename(\Varien_Event_Observer $observer) {
if (!self::done() && self::needInitNow($observer['table_name'])) {
self::run();
}
Expand Down Expand Up @@ -61,17 +62,12 @@ public static function done() {return self::$_done1 && self::$_done2;}
*/
public static function run() {
if (!self::$_done1) {
Df_Core_Autoload::register();
Autoload::register();
self::init1();
Df_Core_Lib::load('C1');
Df_Core_Lib::load('Checkout');
Df_Core_Lib::load('Customer');
Df_Core_Lib::load('Directory');
Df_Core_Lib::load('Framework');
Df_Core_Lib::load('Payment');
Df_Core_Lib::load('Shipping');
Df_Core_Lib::load('Tax');
Df_Core_Lib::load('Xml');
array_map([Lib::class, 'load'], [
'C1', 'Checkout', 'Customer', 'Directory',
'Framework', 'Payment', 'Shipping', 'Tax', 'Xml'
]);
self::$_done1 = true;
}
/**
Expand Down Expand Up @@ -105,9 +101,9 @@ public static function run() {
* (поле website_id не инициализировано).
*/
if (!self::$_done2
&& Mage::app()->getStores()
&& Mage::isInstalled()
&& !Mage::app()->getUpdateMode()
&& \Mage::app()->getStores()
&& \Mage::isInstalled()
&& !\Mage::app()->getUpdateMode()
) {
self::init2();
self::$_done2 = true;
Expand All @@ -126,7 +122,7 @@ private static function init1() {
// 2015-03-04
// Наверное, это не совсем правильно для промышленных магазинов.
// Надо, видимо, сделать административную опцию.
Mage::setIsDeveloperMode(true);
\Mage::setIsDeveloperMode(true);
/**
* В PHP 5.6 этот вызов считается устаревшим:
* «Use of mbstring.internal_encoding is deprecated».
Expand Down Expand Up @@ -190,9 +186,9 @@ private static function init1() {
*/
ini_set('session.gc_probability', 1);
ini_set('session.gc_divisor', 100);
Df_Core_Lib::load('Core');
Lib::load('Core');
/** @uses \Df\Qa\Message\Failure\Error::check() */
register_shutdown_function(array('\Df\Qa\Message\Failure\Error', 'check'));
register_shutdown_function([\Df\Qa\Message\Failure\Error::class, 'check']);
if (!ini_get('date.timezone')) {
/**
* Временно устанавливаем в качестве часового пояса московский.
Expand All @@ -217,7 +213,7 @@ private static function init1() {
*/
private static function init2() {
/** @var string|null $defaultTimezone */
$defaultTimezone = Mage::getStoreConfig(Mage_Core_Model_Locale::XML_PATH_DEFAULT_TIMEZONE);
$defaultTimezone = \Mage::getStoreConfig(\Mage_Core_Model_Locale::XML_PATH_DEFAULT_TIMEZONE);
// По необъяснимой причине
// после предыдущего вызова $defaultTimezone может быть пустым значением
if ($defaultTimezone) {
Expand All @@ -226,9 +222,9 @@ private static function init2() {
}

/** @return bool */
private static function isCompilationFromCommandLine() {
static $r; return !is_null($r) ? $r : $r = @class_exists('Mage_Shell_Compiler', false);
}
private static function isCompilationFromCommandLine() {static $r; return $r ?: $r =
@class_exists('Mage_Shell_Compiler', false)
;}

/**
* Мы бы рады инициализировать нашу библиотеку при загрузке таблицы «core_resource»,
Expand All @@ -242,12 +238,9 @@ private static function isCompilationFromCommandLine() {
* @param string $tableName
* @return bool
*/
private static function needInitNow($tableName) {
return
'core_website' === $tableName
||
'index_process' === $tableName && self::isCompilationFromCommandLine()
;
private static function needInitNow($tableName) {return
'core_website' === $tableName
|| 'index_process' === $tableName && self::isCompilationFromCommandLine();
}

/** @var bool */
Expand Down
2 changes: 1 addition & 1 deletion app/code/local/Df/Core/Helper/DataM.php
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ public function useDbCompatibleMode() {
* Может быть, они и есть (скорей всего есть), однако трудозатраты по их поиску и анализу
* не стоят получаемого результата (редкая проблема для небольшой клиентской базы).
*/
Df_Core_Boot::run();
\Df\Core\Boot::run();
return parent::useDbCompatibleMode();
}

Expand Down
15 changes: 8 additions & 7 deletions app/code/local/Df/Core/Lib.php
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
<?php
class Df_Core_Lib {
namespace Df\Core;
class Lib {
/**
* @used-by load()
* @param string $moduleLocalPath
Expand Down Expand Up @@ -155,16 +156,16 @@ private function includeScripts() {
private $_moduleLocalPath = null;

/**
* @used-by Df_Core_Boot::run()
* @used-by Df_Core_Boot::initCore()
* @used-by \Df\Core\Boot::run()
* @used-by \Df\Core\Boot::initCore()
* @used-by \Df\YandexMarket\Category\Document::_rows()
* @param string $key
* @return Df_Core_Lib
* @return \Df\Core\Lib
*/
public static function load($key) {
/** @var array(string => Df_Core_Lib) */
/** @var array(string => \Df\Core\Lib) */
static $cache;
/** @var Df_Core_Lib $result */
/** @var \Df\Core\Lib $result */
if (!isset($cache[$key])) {
/** @var string[] $keyA */
$keyA = explode('_', $key);
Expand All @@ -176,7 +177,7 @@ public static function load($key) {
$class = 2 < $count ? $key : __CLASS__;
/**
* Нам нужно сохранить в кэше не просто флаг загруженности объекта,
* а именно сам объект @uses Df_Core_Lib,
* а именно сам объект @uses \Df\Core\Lib,
* потому что затем у этого объекта могут вызываться методы:
* @see setCompatibleErrorReporting()
* @see restoreErrorReporting()
Expand Down
2 changes: 1 addition & 1 deletion app/code/local/Df/Core/Model/Resource/Setup.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ class Df_Core_Model_Resource_Setup extends Mage_Core_Model_Resource_Setup {
*/
public function startSetup() {
parent::startSetup();
Df_Core_Boot::run();
\Df\Core\Boot::run();
return $this;
}

Expand Down
6 changes: 3 additions & 3 deletions app/code/local/Df/Core/Model/StoreM.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ public function getConfig($path) {
/** @var bool $resultInitialized */
$resultInitialized = false;
/** @var string|null $result */
if (Df_Core_Boot::done()) {
if (\Df\Core\Boot::done()) {
/** @var Df_Core_Model_Cache_Store $cache */
$cache = Df_Core_Model_Cache_Store::s($this);
if ($cache) {
Expand Down Expand Up @@ -68,7 +68,7 @@ public function getId() {
public function resetConfig() {
parent::resetConfig();
/** @var string|null $result */
if (Df_Core_Boot::done()) {
if (\Df\Core\Boot::done()) {
/** @var Df_Core_Model_Cache_Store $cache */
$cache = Df_Core_Model_Cache_Store::s($this);
if ($cache) {
Expand All @@ -88,7 +88,7 @@ public function resetConfig() {
public function setConfig($path, $value) {
parent::setConfig($path, $value);
/** @var string|null $result */
if (Df_Core_Boot::done()) {
if (\Df\Core\Boot::done()) {
/** @var Df_Core_Model_Cache_Store $cache */
$cache = Df_Core_Model_Cache_Store::s($this);
if ($cache) {
Expand Down
4 changes: 2 additions & 2 deletions app/code/local/Df/Core/Model/Translate.php
Original file line number Diff line number Diff line change
Expand Up @@ -421,12 +421,12 @@ protected function _getTranslatedString($text, $code) {
* сразу инициализировать Российскую сборку Magento.
*
* Ещё одной нормальной альтернативой является применение метода
* @see Df_Core_Boot::done(), чтобы использовать
* @see \Df\Core\Boot::done(), чтобы использовать
* @uses Df_Localization_Realtime_Translator
* уже после инициализации Российской сборки Magento,
* которая случиться где-нибудь в другом месте позже.
*/
Df_Core_Boot::run();
\Df\Core\Boot::run();
/**
* Не используем Df_Localization_Realtime_Translator
* в процессе установки Magento Community Edition,
Expand Down
6 changes: 3 additions & 3 deletions app/code/local/Df/Core/etc/config.xml
Original file line number Diff line number Diff line change
Expand Up @@ -259,7 +259,7 @@ https://github.com/OpenMage/magento-mirror/blob/1.6.1.0/lib/Varien/Db/Adapter/Pd
<controller_front_init_before>
<observers>
<Df_Core>
<class>Df_Core_Boot</class>
<class>Df\Core\Boot</class>
<method>controller_front_init_before</method>
</Df_Core>
</observers>
Expand All @@ -283,15 +283,15 @@ https://github.com/OpenMage/magento-mirror/blob/1.6.1.0/lib/Varien/Db/Adapter/Pd
<default>
<observers>
<Df_Core>
<class>Df_Core_Boot</class>
<class>Df\Core\Boot</class>
<method>_default</method>
</Df_Core>
</observers>
</default>
<resource_get_tablename>
<observers>
<Df_Core>
<class>Df_Core_Boot</class>
<class>Df\Core\Boot</class>
<method>resource_get_tablename</method>
</Df_Core>
</observers>
Expand Down
2 changes: 1 addition & 1 deletion app/code/local/Df/Directory/Observer.php
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ public function core_collection_abstract_load_before(Varien_Event_Observer $o) {
* потому что они не вызывают Mage::dispatchEvent('default');
* http://magento-forum.ru/topic/3929/
*/
Df_Core_Boot::run();
\Df\Core\Boot::run();
/**
* Для ускорения работы системы проверяем класс коллекции прямо здесь,
* а не в обработчике события.
Expand Down
4 changes: 2 additions & 2 deletions app/code/local/Df/Eav/Model/Config.php
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ protected function _load($id) {
* Magento CE и Российской сборки Magento,
* поэтому надо инициализировать Российскую сборку Magento.
*/
Df_Core_Boot::run();
\Df\Core\Boot::run();
if (!$result && $this->needCacheRm($id)) {
$result = df_ftn(Df_Eav_Model_Cache::s()->loadDataComplex($this->getAttributeCacheKey($id)));
if ($result) {
Expand Down Expand Up @@ -97,7 +97,7 @@ protected function _save($obj, $id) {
* Magento CE и Российской сборки Magento,
* поэтому надо инициализировать Российскую сборку Magento.
*/
Df_Core_Boot::run();
\Df\Core\Boot::run();
if ($this->needCacheRm($id)) {
if ($obj instanceof Mage_Catalog_Model_Resource_Eav_Attribute) {
/** @var Mage_Catalog_Model_Resource_Eav_Attribute $obj */
Expand Down
2 changes: 1 addition & 1 deletion app/code/local/Df/Logging/Model/Processor.php
Original file line number Diff line number Diff line change
Expand Up @@ -316,7 +316,7 @@ protected function _construct() {
* происходит при выполнении стороннего скрипта,
* который написан некачественно и не вызывает системные события.
*/
Df_Core_Boot::run();
\Df\Core\Boot::run();
$this->_modelsHandler = df_model('df_logging/handler_models');
$this->_controllerActionsHandler = df_model('df_logging/handler_controllers');
}
Expand Down
Loading

0 comments on commit 509ddd9

Please sign in to comment.