等系统的类库等。
前面使用自动加载或 import 方法导入的类库,ThinkPHP 约定是以 .class.php
为后缀的,非这类的后缀,需要通过 import 的参数来控制。
但对第三类库,由于不会有此约定,其后缀只能认为是 php
。为了方便的引入其他框架和系统的类库,ThinkPHP 特意提供了导入第三方类库的功能。第三方类库统一放置在 ThinkPHP系统目录/Vendor
下面,并且使用 vendor 方法导入。
vendor 方法
vendor 方法的用法和 import
方法完全一致,只是其默认值略有差别。
语法:
boolen vendor(class, baseUrl,
ext)
参数说明: 参数 说明
class 必须,表示要导入的类库,采用命名空间的方式。
baseUrl
可选,表示导入的基础路径,省略的话系统采用 ThinkPHP系统目录/Vendor 目录。
ext 可选,表示导入的类库后缀,默认是 .php
。
与 import 方法的区别在于,vendor 方法默认的导入路径为 ThinkPHP系统目录/Vendor 目录,默认后缀为 .php
。
vendor 方法导入第三方类库例子
例如我们要引入 Zend 的 FilterDir.php 文件,我们把文件带目录放到 Vendor
目录下面,这个时候 Dir 文件的路径就是 VendorZendFilterDir.php 。使用 vendor
方法导入:
vendor('Zend.Filter.Dir')
同样对于包含 . 符号的文件,将 . 号用 # 符号代替,或者指定
ext 参数。
提示
实际上 vendor 方法是调用 import 方法来实现类库导入的,而且 vendor 方法也支持自定义导入路径。但
ThinkPHP 约定所有第三方框架的类库文件统一放到系统的 Vendor 目录下面,因此实际中尽可能的遵守该约定。
另外请格外注意 vendor
的首字母应该小写(官方手册为大写)。
下载phpexcel,将整个文件夹放到vendor文件夹里面,如下图
在控制器中的使用方法
vendor("PHPExcel.PHPExcel")
$objPHPExcel = new \PHPExcel()
$file_name = date('YmdHis').'.xls'
header("Content-Disposition:attachment filename=".$file_name)
$objActSheet = $objPHPExcel->getActiveSheet()->setTitle('成绩单')
$objActSheet->SetCellValue('A1', 'ID')
$objActSheet->SetCellValue('B1', '名称')
$objActSheet->SetCellValue('C1', '分数')
$list = ""//数据列表
if($list){
foreach ($list as $k => $v){
$i = $k + 2
$objActSheet->SetCellValue('A'.$i,''. $v['id'])
$objActSheet->SetCellValue('B'.$i,''. $v['name'])
$objActSheet->SetCellValue('C'.$i,''. $v['score'])
}
$objWriter = new \PHPExcel_Writer_Excel5($objPHPExcel)
$objWriter->save('php://output')//输出到浏览器
exit
}
不麻烦 ide会自动引入。是必须要引入的。这个东西没有办法。只要你用这个东西了就得use所有语言都是如此。也没有一楼说的那样‘’这样的话会造成资源浪费‘’
哪怕你面向过程你还得引入文件呢 除非你全写一个页面上,那你也得引入一次才能弄。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)