编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

ThinkPHP vendor方法的深入研究及Phpqrcode的正确扩展

wxchong 2024-07-18 09:45:03 开源技术 10 ℃ 0 评论

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')。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表