From d3bc4800bb6e4e78bf189029491b3608603b4fa0 Mon Sep 17 00:00:00 2001 From: Mzhelskiy Maxim Date: Wed, 27 Apr 2011 10:47:28 +0000 Subject: [PATCH] =?UTF-8?q?=D0=B0=D0=B2=D1=82=D0=BE=D0=B7=D0=B0=D0=B3?= =?UTF-8?q?=D1=80=D1=83=D0=B7=D0=BA=D0=B0=20=D0=BA=D0=BB=D0=B0=D1=81=D1=81?= =?UTF-8?q?=D0=BE=D0=B2=20=D1=87=D0=B5=D1=80=D0=B5=D0=B7=20spl=5Fautoload?= =?UTF-8?q?=5Fregister()?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- engine/classes/Engine.class.php | 48 +++++++++++++++++---------------- 1 file changed, 25 insertions(+), 23 deletions(-) diff --git a/engine/classes/Engine.class.php b/engine/classes/Engine.class.php index 3f3714bb..2f92da5b 100644 --- a/engine/classes/Engine.class.php +++ b/engine/classes/Engine.class.php @@ -902,8 +902,33 @@ class Engine extends Object { } + /** + * Автозагрузка классов + * + * @param unknown_type $sClassName + */ + public static function autoload($sClassName) { + $aInfo = Engine::GetClassInfo( + $sClassName, + Engine::CI_CLASSPATH|Engine::CI_INHERIT + ); + if($aInfo[Engine::CI_INHERIT]){ + $sInheritClass = $aInfo[Engine::CI_INHERIT]; + $sParentClass = Engine::getInstance()->Plugin_GetParentInherit($sInheritClass); + class_alias($sParentClass,$sClassName); + }elseif($aInfo[Engine::CI_CLASSPATH]){ + require_once $aInfo[Engine::CI_CLASSPATH]; + }elseif(!class_exists($sClassName)){ + dump("(autoload $sClassName) Can not load CLASS-file"); + dump($aInfo); + //throw new Exception("(autoload '$sClassName') Can not load CLASS-file"); + } + } + } +spl_autoload_register(array('Engine','autoload')); + /** * Short aliases for Engine basic methods * @@ -956,29 +981,6 @@ class LS { public static function __callStatic($sName,$aArgs=array()) { return call_user_func_array(array(self::E(),$sName),$aArgs); } - } -/** - * Автозагрузка классов - * - * @param unknown_type $sClassName - */ -function __autoload($sClassName) { - $aInfo = Engine::GetClassInfo( - $sClassName, - Engine::CI_CLASSPATH|Engine::CI_INHERIT - ); - if($aInfo[Engine::CI_INHERIT]){ - $sInheritClass = $aInfo[Engine::CI_INHERIT]; - $sParentClass = Engine::getInstance()->Plugin_GetParentInherit($sInheritClass); - class_alias($sParentClass,$sClassName); - }elseif($aInfo[Engine::CI_CLASSPATH]){ - require_once $aInfo[Engine::CI_CLASSPATH]; - }elseif(!class_exists($sClassName)){ - dump("(autoload $sClassName) Can not load CLASS-file"); - dump($aInfo); - //throw new Exception("(autoload '$sClassName') Can not load CLASS-file"); - } -} ?> \ No newline at end of file