时间:2021-05-26
本文实例讲述了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入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了thinkphp框架类库扩展操作。分享给大家供大家参考,具体如下:官方文档http://document.thinkphp.cn/manual_3
本文实例讲述了Thinkphp框架扩展之Widget扩展实现方法。分享给大家供大家参考,具体如下:Widget扩展Widget扩展一般用于页面组件的扩展。举个例
本文实例讲述了thinkphp5框架实现的自定义扩展类操作。分享给大家供大家参考,具体如下:1.在extend目录下新建要定义的扩展类:如下图所示2.定义扩展类
本文实例讲述了TP5(thinkPHP5)框架mongodb扩展安装及特殊操作。分享给大家供大家参考,具体如下:ThinkPHP5.0MongoDb驱动首先安装
本文实例讲述了Thinkphp框架扩展之标签库驱动原理与用法。分享给大家供大家参考,具体如下:在Think\Template中标签库的体现是采用XML命名空间的