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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp5 extend扩展库放哪里,该怎么new相关的知识,希望对你有一定的参考价值。

参考技术A

    类库扩展

类库扩展包括基类库扩展、应用类库扩展和第三方类库扩展,所有扩展类库不会自动加载,需要手动加载或者定义别名和配置自动加载(详细可以参考4.2.3类库导入和4.2.5自动加载)。

    基类库扩展

目前支持的基类库扩展包括ORG(第三方公共类库包)和Com(企业类库包)。你可以在ORG类库目录下面添加自己需要的类库,你甚至还可以创建属于自己企业的类库,只需要在Extend/Library目录下面创建Com目录,然后在里面增加相应的类库就可以方便的使用import方法导入了。例如,我们在Extend/Library/Com下面创建了Sina目录,并且放了Util\\UnitTest.class.php类库文件,可以使用下面的方式导入

import('Com.Sina.Util.UnitTest');

目前官方提供的扩展或者第三方扩展都在ORG类库包下面。

    应用类库扩展

项目类库的扩展,和基类库的扩展一样,我们可以在项目类库目录增加你想要的子目录,也只有在项目类库目录下面增加的类库才能使用import方法导入。例如,我们在MyApp的项目类库目录Lib下面增加Common和Util目录,就可以这样加载这些目录下面的类库文件了:

import('MyApp.Util.UnitTest');

 import('@.Common.CommonUtil');

    第三方类库扩展

如果你直接使用的是第三方的类库包,或者是类名和后缀和ThinkPHP的默认规则不符合的,我们建议你放到第三方类库扩展目录Extend/Vendor目录下面,并使用vendor方法来导入。

例如,我们把Zend的Filter\\Dir.php 放到Vendor目录下面,这个时候Dir文件的路径就是

Vendor\\Zend\\Filter\\Dir.php,我们使用vendor方法导入就是:

Vendor('Zend.Filter.Dir');

    需要注意的是,vendor方法默认导入的类库后缀是php的而不是class.php的,如果你的第三方类库的后缀是class.php,可以使用:

Vendor('Zend.Filter.Dir','','.class.php');

或者使用:

import('Zend.Filter.Dir',VENDOR_PATH);

通过使用第三方类库扩展,我们可以直接使用Zend、CI或者其他框架中的类库。

ThinkPHP - 验证码

使用前须知:ThinkPHP的扩展中由图像处理类Image以及用于生成随机验证码的字符处理类String共同完成验证码功能,可以在在http://www.thinkphp.cn/extend/225.html下载图像处理类以及http://www.thinkphp.cn/extend/266.html下载字符处理类,或者下载官方的完整扩展包(http://www.thinkphp.cn/down/253.html)里面也已经包含以上扩展类了。如果是单独下载的扩展类库,把解压后的Image.class.php和String.class.php 一起放入ThinkPHP/Extend/Library/ORG/Util/(如果没有请手动创建)目录下面。由于验证码显示采用了GD库支持,所以需要环境支持GD库。

 

实现效果:

技术分享

 

-------------------

 

模板代码(调用代码):

<!DOCTYPE html>
<html>
<head>
	<title>显示模板文件</title>
</head>
<body>
	生成验证码:<img id="verifyImg" src="__APP__/Public/verify" onclick="verifyflesh()" />

	<script type="text/javascript">
		//刷新验证码
		function verifyflesh(){
			//获取随机时间
			var time = new Date().getTime();
			//重新加载验证码
			document.getElementById(‘verifyImg‘).src=‘__APP__/Public/verify?‘+time;
		}
	</script>
</body>
</html>

 

类文件:

<?php
//验证码
class PublicAction extends Action{
	/**
	 * 生成验证码
	 * @return  返回生成的验证码
	 */
	public function verify(){
		//引入图像类
		import(‘ORG.Util.Image‘);
		//构建验证码
		Image::buildImageVerify();
	}
}

 

以上是关于thinkphp5 extend扩展库放哪里,该怎么new的主要内容,如果未能解决你的问题,请参考以下文章

ThinkPHP5 支付宝 电脑与手机支付扩展库

Thinkphp5 引入第三方类库的方法

ThinkPHP5 封装邮件发送服务(可发附件)

ThinkPHP5 封装邮件发送服务(可发附件)

thinkPHP5 类库包注册

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