我在我的项目中使用phpexcel,如果我通过我的函数调用我的类,excel文件无法打开 我打电话给我的班级:
$Model = loadModel('cpm','cpm',$this->registry);
我的功能:
function loadModel($com='',$class_name='',$registry=null) {
if (empty($com)){
$com = 'admin';
}
$filename = strtolower($class_name) . '.class.php';
$file = PATH_MODEL.DS.$com.DS.$filename;
if (file_exists($file) == false){
return false;
}
require_once($file);
if($registry != NULL){
$model = new $class_name($registry);
}else{
$model = new $class_name;
}
return $model;
}
当我改为
时/*require_once($file);
if($registry != NULL){
$model = new $class_name($registry);
}else{
$model = new $class_name;
}*/
$model=true;
return $model;
它的工作原理。在我的项目中,我使用自动加载:
function __autoload($class_name) {
/*** get the component from the url ***/
$com = (empty($_GET['com'])) ? '' : $_GET['com'];
if (empty($com)){
$com = 'admin';
}
$filename = strtolower($class_name) . '.class.php';
$file = PATH_MODEL.DS.$com.DS.$filename;
if (file_exists($file) == false){
return false;
}
requine_once ($file);
}
我不确定这是不是理由。 我没有在日志中发现任何错误。 任何帮助,谢谢。
我发现如果我在控制器中需要(一次)或包含(一次)文件,excel文件将无法打开。
class excelController extends baseController {
public function index(){
require('abc.class.php');
$this->registry->template->show('excel', false);
}
}
答案 0 :(得分:0)
您的自动加载器可能与PHPExcel的自动加载器发生冲突。有关使用spl_autoload_register()注册自己的自动加载器的建议,请参阅开发人员文档的第3.2节(标题为“Lazy Loader”),以便两者可以共存