thinkphp框架类库扩展操作示例
本文实例讲述了thinkphp框架类库扩展操作。分享给大家供大家参考,具体如下:
官方文档 http://document.thinkphp.cn/manual_3_2.html#lib_extend
自定义命名空间
在项目的application->common->conf文件下添加
'AUTOLOAD_NAMESPACE' => array( 'Lib' => APP_PATH . 'Home\Lib', )
Home\Lib 表示扩展路径在application->home->Lib下
从index.php下可看到
define('APP_PATH','./Application/');
实现类库
建立对应的文件夹
类名 要用*.class.php格式的
在控制器中访问
<?php namespace Home\Controller; use Lib\Sina\Custom; use Lib\Sina\CustomHome; use Think\App; use Think\Controller; class EmptyController extends Controller { public function _empty($name) { echo "{}"; } public function ff(){ new App(); } public function ff1(){ $c=new Custom(); $c->ff(); } public function ff2(){ $c=new CustomHome(); $c->ff(); } }
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
相关推荐
-
ThinkPHP5.0框架验证码功能实现方法【基于第三方扩展包】
本文实例讲述了ThinkPHP5.0框架验证码功能实现方法.分享给大家供大家参考,具体如下: 背景 ThinkPHP5.0 已经出现很久了,最近有所接触,下面介绍一下常用的第三方验证码功能的使用. ♜ 功能开发 1).引入第三方扩展包 进行 TP5 的开发,Composer 的使用会成为重要技能,以 windows 为例子,输入命令: composer require topthink/think-captcha 完成上述操作,会在以下目录中出现 captcha 的扩展包 ..\vendor\t
-
TP5(thinkPHP5)框架mongodb扩展安装及特殊操作示例
本文实例讲述了TP5(thinkPHP5)框架mongodb扩展安装及特殊操作.分享给大家供大家参考,具体如下: ThinkPHP 5.0 MongoDb驱动 首先安装官方的mongodb扩展: http://pecl.php.net/package/mongodb 找到对应的php版本的扩展 然后,配置应用的数据库配置文件database.php的type参数为: 'type' => '\think\mongo\Connection', 即可正常使用MongoDb,例如: 使用最新mongod
-
ThinkPHP行为扩展Behavior应用实例详解
本文以实例的形式详细介绍了ThinkPHP的行为扩展Behavior的实现方法,有助于读者更灵活的掌握ThinkPHP的开发,具体步骤如下: ThinkPHP 行为扩展 (Behavior) 流程: 最先是读取配置文件信息: $mode = include is_file(CONF_PATH.'core.php')?CONF_PATH.'core.php':MODE_PATH.APP_MODE.'.php'; 读取配置文件信息 ThinkPHP\Mode\common.php // 行为扩展定义
-
thinkPHP3.2.2框架行为扩展及demo示例
本文实例讲述了thinkPHP3.2.2框架行为扩展.分享给大家供大家参考,具体如下: 首先介绍一下行为扩展类,本人愚钝,还是借用tp手册上的来说: 行为(Behavior)是一个比较抽象的概念,你可以想象成在应用执行过程中的一个动作或者处理,在框架的执行流程中,各个位置都可以有行为产生,例如路由检测是一个行为,静态缓存是一个行为,用户权限检测也是行为,大到业务逻辑,小到浏览器检测.多语言检测等等都可以当做是一个行为,甚至说你希望给你的网站用户的第一次访问弹出Hello,world!这些都可以看
-
ThinkPHP的Widget扩展实例
ThinkPHP的Widget扩展用于根据页面需要输出不同内容,它在项目目录中的Lib/Widget下定义. 具体定义如下: class NewsListWidget extends Widget{ public function render($data){ // code... } } 需要注意: 1.Widget是一个抽象类,其中有一个抽象方法(abstract)render,必须在子类中实现: 2.Widget的render方法必须使用return返回,而不是直接输出: 3.$data是
-
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
本文实例讲述了针对thinkPHP5框架存储过程bug重写的存储过程扩展类.分享给大家供大家参考,具体如下: 近期用tp5框架调取存储过程发现有bug,借鉴了一些官方的函数.以及找了个mysqli的类把存储过程重新写了个扩展类,下面两个类直接放置项目extend目录的stored(这个文件夹名称请按个人习惯命名)目录下,需要注意的是类增加命名空间namespace stored就OK. 1.mysqli类,此类直接在网上找的,新增一个getAllData()的函数来获取存储过程多条数据集 <?p
-
ThinkPHP框架设计及扩展详解
ThinkPHP框架是国内知名度很高应用很广泛的php框架,我们从一些简单的开发示例中来深入了解一下这个框架给我们带来的开发便捷性,以及游刃有余的扩展设计.同时也从源码分析的角度看看框架的一些不足,尽量做全面客观的评价.这里假设大家已经使用过ThinkPHP框架,基本使用方法请参考官方文档. 一.框架分层及url路由 框架的安装非常简单,下载后放入web服务器的目录即可,但是建议大家不要用默认的入口文件位置,而是放入单独的目录,便于保护代码和数据.例如我的入口文件和web服务器配置目录在web目
-
ThinkPHP应用模式扩展详解
ThinkPHP的应用模式使得开发人员对核心框架进行改造较以往更为得心应手,并且可以让你的应用适应更多的环境和不同的需求.每个应用模式都有自己的模式定义文件,相对于ThinkPHP3.1版本,ThinkPHP3.2版本对应用模式的扩展更加明确和清晰,在ThinkPHP3.1版本中定义了Cli.Lite.Thin.AMF.PHPRPC.REST模式,其定义方式和ThinkPHP3.2版本的方式大同小异,如有需要可以参考修改,其中Cli模式被ThinkPHP框架内置,不用单独定义Cli模式即可正常使
-
thinkPHP下的widget扩展用法实例分析
本文实例讲述了thinkPHP下的widget扩展用法.分享给大家供大家参考,具体如下: Widget扩展用于在页面根据需要输出不同的内容,Widget扩展的定义是在项目的Lib\Widget目录下面定义Widget类库,例如下面定义了一个用于显示最近的评论的Widget: 位于Lib\Widget\ShowCommentWidget.class.php Widget类库需要继承Widget类,并且必须定义render方法实现,例如: render方法必须使用return返回要输出的字符串信息,
-
thinkphp5框架实现的自定义扩展类操作示例
本文实例讲述了thinkphp5框架实现的自定义扩展类操作.分享给大家供大家参考,具体如下: 1.在extend目录下新建要定义的扩展类:如下图所示 2.定义扩展类的内容 <?php namespace org; /** * */ class Auth { public function __construct() { # code... } public function xx() { echo 'xxxxxxxxxxxxxx'; } } 3.在控制器中调用自定义的扩展类 <?php nam
-
ThinkPHP中Widget扩展的两种写法及调用方法详解
本文实例讲述了ThinkPHP中Widget扩展的两种写法及调用方法.分享给大家供大家参考,具体如下: Widget扩展一般用于页面组件的扩展,在页面根据需要输出不同的内容,下面介绍一下ThinkPHP中Widget的两种写法及调用 写法一: ArticlWidget.class.php文件: class ArticleWidget extends Widget { /** * * @param array $data * @return type * 调用方法:{:W('ArticleList
-
thinkphp5框架扩展redis类方法示例
本文实例讲述了thinkphp5框架扩展redis类方法.分享给大家供大家参考,具体如下: 笔者在开发时发现,thinkphp5的自带redis类方法,只有简单的读取缓存.写入缓存的基本方法,远不能满足我们业务的需求.redis本身支持五种数据类型,string(字符串).hash(哈希).list(列表).set(集合).zset(有序集合).redis的东西就不必再介绍了,接下来还是让我一起扩展thinkphp5的redis方法吧! 首先我们先找到缓存驱动类里的,handler()方法,这个
-
老生常谈ThinkPHP中的行为扩展和插件(推荐)
原理分析 将标签与类之间的对应关系(如'app_init'=>array('Common\Behavior\InitHook')),通过Hook类中import或add方法,加载到Hook类中静态变量$tags中.当执行Hook中静态方法listen或者exec方法的时候(listen方法中调用了exec),实例化标签对应的类,调用相应的方法(如果是插件,调用传递的方法,如果是行为,调用run方法). Hook中exec方法定义如下: static public function exec($n
随机推荐
- Chdir (Cd) 显示当前目录的名称,或更改当前的文件夹
- 基于java TCP网络通信的实例详解
- 解析js如何获取当前url中的参数值并复制给input
- JavaScript Promise 用法
- 在ASP.NET中实现弹出日历的具体方法
- JavaScript表单常用验证集合
- C++ clock()解析如何使用时钟计时的应用
- Mysql闪退问题图文解决办法
- javascript实现checkbox全选的代码
- 两种简单的跨域方法(jsonp、php)
- CSS实现光滑圆角效果
- WIN2000+PHP+MYSQL+TOMCAT+JSP完全整合安装手册
- PHP代码优化技巧小结
- Linux管理员手册(4)--内存管理
- jquery 1.3.2 IE8中的一点点的小问题解决方法
- 浅谈js原生拖放
- c++ 尽量不要使用#define 而是用const、enum、inline替换。
- Nginx中防止SQL注入攻击的相关配置介绍
- Python进阶之尾递归的用法实例
- Spark整合Mongodb的方法