//在tp框架实现阿里云短信功能

1、将阿里云短信sdk包和demo类放在ThinkPHP/library/Vendor目录下;
2、在相应模块的Common/function函数中引用类,并进行二次封装;(若没有function.php文件,自行添加即可)
引用:Vendor('文件名')
3、即可在控制器中调用函数发送短信。

 

//TP引进第三方类库的方法:

  • Library目录下面的子目录都是一个根命名空间,也就是说以Think、Org为根命名空间的类都可以自动加载:

1、Org
适用于:符合TP命名规范和后缀的类库,使用的命名空间和路径一致

例如:
//定义了一个类 \Org\Util\Auth 类:
namespace Org\Util;
class Auth { }
//保存到 ThinkPHP/Library/Org/Util/Auth.class.php,实例化类
new \Org\Util\Auth();

 

2、import
适用于:导入任何类库

例如:
// 导入Org类库包 Library/Org/Util/Date.class.php类库
import("Org.Util.Date");
// 导入Home模块下面的 Application/Home/Util/UserUtil.class.php类库
import("Home.Util.UserUtil");
// 导入当前模块下面的类库
import("@.Util.Array");
// 导入Vendor类库包 Library/Vendor/Zend/Server.class.php
import('Vendor.Zend.Server');

注意:
1)对于import方法,系统会自动识别导入类库文件的位置,ThinkPHP可以自动识别的类库包包括Think、Org、Com、Behavior和Vendor包,以及Library目录下面的子目录;
2)如果你的类库没有使用命名空间定义的话,实例化的时候需要加上根命名空间;
3)import方法是无法导入具有点号的类库文件的,因为点号会直接转化成斜线

 

3、vendor——系统内置的封装函数,仍使用import引入;
适用于:放在Vendor目录下面,以.php为类文件后缀,也没用采用命名空间

例如:
//我们把 Zend 的 Filter\Dir.php 放到 Vendor 目录下面,导入类库
Vendor('Zend.Filter.Dir');
//实例化类库
new \xxx();

4、类库名中有".",用"#"代替即可

欢迎留言