thinkphp中,控制器怎么new一个第三方类

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp中,控制器怎么new一个第三方类相关的知识,希望对你有一定的参考价值。

我把phpexcelreader的Excel文件夹放在thinkphp的Vendor文件夹下了,然后在Controller中调用 // 导入商品数据 public function importGood() vendor("Excel.reader"); $data = new Spreadsheet_Excel_Reader(); 珐乏粹何诔蛊达坍惮开 总是报错,如下图: 就是在Controller中new什么类,都当做Controller

参考技术A 首先你要把第三方扩展类导入到项目中
2.然后在控制器中import
或者include
直接new就可以了

Thinkphp 5 怎么在控制器引入thinkphp\vendor 的第三方扩展

第三方类库指除了 ThinkPHP 框架、应用项目类库之外的其他类库,一般由第三方系统或产品提供,如 Smarty、Zend
等系统的类库等。

前面使用自动加载或 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
的首字母应该小写(官方手册为大写)。
参考技术A

使用import方法载入第三方的类,然后直接new它的类名就行了。

为了方便的引入其他框架和系统的类库ThinkPHP 特意提供了导入第三方类库的功能。第三方类库统一放置在 ThinkPHP系统目录/Vendor。下面,并且使用 vendor 方法导入。

vvendor 方法的用法和 import方法完全一致,只是其默认值略有差别。

参数说明: 参数说明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 参数。

以上是关于thinkphp中,控制器怎么new一个第三方类的主要内容,如果未能解决你的问题,请参考以下文章

thinkphp5 extend扩展库放哪里,该怎么new

thinkphp5 extend扩展库放哪里,该怎么new

Thinkphp 5 怎么在控制器引入thinkphp\vendor 的第三方扩展

php thinkphp vender第三方类找不到类怎么解决

thinkphp5使用load和use引入第三方类

thinkphp 3.2 怎么调用第三方类库