ThinkPHP vendor 方法导入第三方类库
第三方类库指除了 ThinkPHP 框架、应用项目类库之外的其他类库,一般由第三方系统或产品提供,如 Smarty、Zend 等系统的类库等。前面使用自动加载或 import 方法导入的类库,ThinkPHP 约定是以 .class.php 为后缀的,非这类的后缀,需要通过 import 的参数来控制。
但对第三类库,由于不会有此约定,其后缀只能认为是 php 。为了方便的引入其他框架和系统的类库,ThinkPHP 特意提供了导入第三方类库的功能。第三方类库统一放置在 ThinkPHP系统目录/Vendor 下面,并且使用 vendor 方法导入。
vendor 方法语法:boolen vendor(class, baseUrl, ext)
verdor方法参数说明:
参数 说明
class 必须,表示要导入的类库,采用命名空间的方式。
baseUrl 可选,表示导入的基础路径,省略的话系统采用 ThinkPHP系统目录/Vendor 目录。
ext 可选,表示导入的类库后缀,默认是 .php 。
与 import 方法的区别在于,vendor 方法默认的导入路径为 ThinkPHP系统目录/Vendor 目录,默认后缀为 .php 。注意,如果你的类库没有使用命名空间定义的话,实例化的时候需要加上根命名空间,例如:
mport('Test.UserTest'); $test = new \UserTest();
当我们想在ThinkPHP中引入第三方扩展,而第三方扩展又没有按照ThinkPHP的规范在编写的时候时,就需要将第三方扩展放置到Library/Vendor目录下,当然,这是针对ThinkPHP3.2而言,低版本则根据情况来看了。然后需要在Controller或function中使用第三方扩展时,就可以直接使用vendor()方法来进行引用了。在function函数中使用:
第一种方法:
第二种方法:
第三种方法:
支付宝类库目录结构
vendor('Alipay.AlipaySubmit','','.class.php');
注意说明:Vendor加载的默认后缀是.php的
参数一:必须,表示要导入的类库,采用命名空间的方式
参数二:可选,表示导入的基础路径,省略的话系统采用 ThinkPHP系统目录/Vendor 目录。
参数三:可选,表示导入的类库后缀,默认是 .php 。
支付宝第三方案例代码:
不过当我将PHPMailer放在Vendor目录下后,在本机运行得好好得,最近将程序上传到服务器上时,直接提示Class ‘PHPMailer’ not found然后又在本机运行,还是正确!通过前面这片博客可以知道,我是通过vendor('PHPMailer.class#PHPMailer')。
本文暂时没有评论,来添加一个吧(●'◡'●)