最近也是初学Yii框架,然后最近要做一个Excel导出的功能,尝试了composer下载,可惜好像是国内的网络不支持,所以也没有composer成功。
然后我查了好多别的引入方法,但一直是路径错误或者是命名空间的问题。
整理一下我的操作吧
第一种方式
把你下载的PHPexcel类随便放在一个文件夹下。
然后在你应用的那个类中 ,在class 类名之前,
require dirname(dirname(__FILE__)).'/excel/PHPExcel.php';
包含进来,在你的方法里面,也可以在你的入口文件中require,直接new就可以了,但你的类名前面一定要加上“\”;
new \PHPExcel()
因为在Yii中定义的类都在命名空间下面,所以如果你去掉”\”会出现:Class ‘app\controllers\PHPExcel’ not found
因为没有加“\”,所以它会在当前的命名空间下面app\controllers去找PHPExcel类,可在我们的PHPExce.php文件中定义的类PHPExce是没有命名空间的,所以它就报错了。
加上”\”后它就不会去命名空间下面搜索类,也就会能找到引入的PHPExcel类了。
同理,在使用PHPExcel组件里面其它类的时候也都需要加上“\”
第二种方式
把你的类文件放在common中。然后在入口文件中包含引入
然后在你的控制器中直接use 就可以了
方法中直接new 就可以使用了。
初学者,希望有什么不对的地方,或者说的不好的地方大家可以补充,互相学习。