因業務需要,http://www.jyygyx.com/discuz/X3.2論壇插件開發中需要使用到PHPExcel組件來讀取Execl電子表格中的數據,在實際開發中發現,把PHPExcel組件單獨放到1個頁面中時,成功讀取了電子表格中的數據,但當集成到http://www.jyygyx.com/discuz/的插件體系中時,調用失敗。
出錯提示:
http://www.jyygyx.com/discuz/! System Error
Oops! System file lost: class/phpexcel/phpexcel_shared_string.php
沖突緣由:
http://www.jyygyx.com/discuz/和PHPExcel都使用了php類的autoload技術來自動注冊類,但http://www.jyygyx.com/discuz/阻斷了spl_autoload_call的調用進程。
解決辦法:
修改sourceclassclass_core.php文件,找到public static function autoload($class)函數,把最下面的discuz_error::exception_error($exc);注釋掉便可。以下圖: