phpexcel的自動加載與其他框架有沖突

一直想用PHPEXCEL,這次這個項目遇到瞭。然而坑也出來瞭。phpexcel的Autoloader.php裡面

 

public static function Register() {
   /* if (function_exists('__autoload')) {
        //    Register any existing autoloader function with SPL, so we don't get any clashes
        spl_autoload_register('__autoload');
    }
    //    Register ourselves with SPL
    return spl_autoload_register(array('PHPExcel_Autoloader', 'Load'));
    }

 

 

與以現有框架的自動加載有沖突瞭。為瞭解決這個問題,隻可以改其中一個,我選擇瞭phpexcel,因為框架的其他項目都用本身的自動加載,不能為瞭一個功能改動框架本身。

從網上找到瞭方法,就是刪到原來的,用這個新的就可以解決瞭。

 

public static function Register() {
   /* if (function_exists('__autoload')) {
        //    Register any existing autoloader function with SPL, so we don't get any clashes
        spl_autoload_register('__autoload');
    }
    //    Register ourselves with SPL
    return spl_autoload_register(array('PHPExcel_Autoloader', 'Load'));*/
    $functions = spl_autoload_functions();
    foreach ( $functions as  $function)
        spl_autoload_unregister($function);
    $functions = array_merge(array(array('PHPExcel_Autoloader','Load')),$functions);
    foreach ( $functions as $function)
        $x = spl_autoload_register($function);
    return $x;
}

 

 

發佈留言