手记

TP3.2 如何调用第三方类库?

最近项目中要用到一些处理表格导入导出的需求,选择了phpexcel。

在非框架模式下,测试phpexcel的调用及其正常功能,然后想把这些类库放到TP3.2中去,因为命名空间的原因,放在跟鼓励,然后直接include 或者 require_once ,实例化的时候还是会提示你类未找到的错误。

那么该怎么办呢?

首先整理你的类库文件夹,然后放到tp目录下的vender/下,我用的是OT二开的,我的目录在ThinkPHP\Library\Vendor\下,自己先找对这个目录,把文件夹放进去。

我的最终目录是这样的:\ThinkPHP\Library\Vendor\PHPExcelUnit

PHPExcelUnit为我整理过的phpexcel类库包。

下边就该说说如何调用了:

在控制器中,需要实例化PHPExcel类,类似这样的做法是不行的:

$PHPExcel = new PHPExcel();
$PHPReader = new PHPExcel_Reader_Excel2007();

一定要这样调用,在类名前面加上反斜杠

vendor('PHPExcelUnit.PHPExcel'); //引入类库

$PHPExcel = new \PHPExcel();
$PHPReader = new \PHPExcel_Reader_Excel2007();

这样就可以啦。

如果需要调用类的静态方法。比如说:

PHPExcel_cell::columnIndexFromString('A') ;

还是会提示错误,在类前面加上\还是不行,无奈只能把静态方法扒拉一份,整理到自己的控制器或者模型中,然后再通过自身的方法来调用,例如:

self::columnIndexFromString('A') ;
self::columnIndexFromString('BW');

7人推荐
随时随地看视频
慕课网APP