Thinkphp类库扩展有何作用?用法是什么?
Admin 2021-05-06 群英技术资讯 900 次浏览
很多PHP新手对于Thinkphp框架中的类库扩展不是很了解,这篇文章就给大家分享一些关于Thinkphp类库扩展操作的内容,小编认为是比较实用的,感兴趣的朋友可以参考一下。
ThinkPHP的类库主要包括公共类库和应用类库,都是基于命名空间进行定义和扩展的。只要按照规范定义,都可以实现自动加载。
公共类库通常是指ThinkPHP/Library目录下面的类库,例如:
Think目录:系统核心类库
Org目录:第三方公共类库
这些目录下面的类库都可以自动加载,你只要把相应的类库放入目录中,然后添加或者修改命名空间定义。 你可以在Org/Util/目录下面添加一个Image.class.php 文件,然后添加命名空间如下:
namespace Org\Util;
class Image {
}
这样,就可以用下面的方式直接实例化Image类了:
$image = new \Org\Util\Image;
除了这些目录之外,你完全可以在ThinkPHP/Library目录下面添加自己的类库目录,例如,我们添加一个Com目录用于企业类库扩展:
Com\Sina\App类(位于Com/Sina/App.class.php )
namespace Com\Sina;
class App {
}
Com\Sina\Rank类(位于Com/Sina/Rank.class.php)
namespace Com\Sina;
class Rank {
}
公共类库除了在系统的Library目录之外,还可以自定义其他的命名空间,我们只需要注册一个新的命名空间,在应用或者模块配置文件中添加下面的设置参数:
'AUTOLOAD_NAMESPACE' => array( 'Lib' => APP_PATH.'Lib', )
我们在应用目录下面创建了一个Lib目录用于放置公共的Lib扩展,如果我们要把上面两个类库放到Lib\Sina目录下面,只需要调整为:
Lib\Sina\App类(位于Lib/Sina/App.class.php )
namespace Lib\Sina;
class App {
}
Lib\Sina\Rank类(位于Lib/Sina/Rank.class.php)
namespace Lib\Sina;
class Rank {
}
如果你的类库没有采用命名空间的话,需要使用import方法先加载类库文件,然后再进行实例化,例如: 我们定义了一个Counter类(位于Com/Sina/Util/Counter.class.php):
class Counter {
}
在使用的时候,需要按下面方式调用:
import('Com.Sina.Util.Couter');
$object = new \Counter();
应用类库通常是在应用或者模块目录下面的类库,应用类库的命名空间一般就是模块的名称为根命名空间,例如: Home\Model\UserModel类(位于Application\Home\Model)
namespace Home\Model;
use Think\Model;
class UserModel extends Model{
}
Common\Util\Pay类(位于Application\Common\Util)
namespace Common\Util;
class Pay {
}
Admin\Api\UserApi类(位于Application\Admin\Api)
namespace Admin\Api;
use Think\Model;
class UserApi extends Model{
}
记住一个原则,命名空间的路径和实际的文件路径对应的话 就可以实现直接实例化的时候自动加载。
对Thinkphp类库扩展的介绍就到这,希望大家阅读完这篇文章之后都有所收获,想要了解更多Thinkphp框架的内容大家可以继续关注其他文章。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
PHP PDO的预处理语句:1、位置参数,利用bindParam()函数,而非直接提供值。2、命名参数,将值/变量映射到查询中的命名位置。由于没有位置绑定,在多次使用相同变量的查询中非常有效。
这篇文章主要介绍了PHP常见字符串操作函数与用法,结合实例形式总结分析了php针对字符串的格式化、分割、连接、比较等相关操作技巧,需要的朋友可以参考下
在thinkphp中,L方法用于启用多语言的情况下,设置和获取当前的语言定义,设置语言定义的语法为“L('LANG_VAR','语言定义');”,获取语言定义的语法为“$langVar = L('LANG_VAR');”。
在学习PHP过程中,连接MySQL数据库并且查询是必须要掌握的知识,那么php连接mysql查询数据要怎么做呢?下面介绍一下实现简易查询的教程,有这方面学习需求的朋友可以看看。
1.函数explode(); 这个是字符串转化为数组, implode();这个是数组转化为字符串。$array=explode(separator,$string); $string=implode(glue,$array);使用和理解这两个函数的关键之处是分隔符(separator)和胶合符(glue)关系。当把一个数组转换成一个字符串时,将会设置胶合符——将被插入到生成字符串中的数
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008