phpexcel의 자동 불러오기가 다른 프레임워크와 충돌합니다

1398 단어
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;
}

좋은 웹페이지 즐겨찾기