Правильная функция подмены автолоадера в хелпере aceadminpanel

зафиксил, чтоб работало с yii :)

файл aceadminpanel/include/adm_helper.php
класс HelperPluginLoader
метод Init

public function Init() {
        if ($this->bInialized) return;
		
        $cbAceLoader = array(self::$oInstance, 'Autoloader');
        
        $aFunc = spl_autoload_functions();
        
        // первый вызов spl_autoload_register
        if($aFunc === array('__autoload')){
        	spl_autoload_register('__autoload');
        	$aFunc = spl_autoload_functions();
        }
        
        if(!in_array($cbAceLoader, $aFunc)){
        	// удаляем все лоадеры кроме __autoload
        	foreach($aFunc as $cbLoader){
        		if($cbLoader !== '__autoload'){
        			spl_autoload_unregister($cbLoader);
        		}
        	}
        	// сразу за __autoload добавляем лоадер ace
        	spl_autoload_register($cbAceLoader);
        	// восстанавливаем лоадеры
        	foreach($aFunc as $cbLoader){
        		if($cbLoader !== '__autoload'){
        			spl_autoload_register($cbLoader);
        		}
        	}
        }
        $this->bInialized = true;
    }

0 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.