
【thinkphp3深入研究】
yanhui_wei
这个作者很懒,什么都没留下…
展开
-
【thinkphp3.2.x】thinkphp3.2.x中有关file文件缓存相关的文件
一、file文件缓存类文件:'mytp\ThinkPHP\Library\Think\Cache\Driver\File.class.php'<?php// +----------------------------------------------------------------------// | ThinkPHP [ WE CAN DO IT JUST THINK IT ]/原创 2015-07-19 18:17:11 · 3388 阅读 · 0 评论 -
【thinkphp3.x】thinkphp3.x中D方法实例化模型对象
D方法应该是用的比较多的方法了,用于实例化自定义模型类,是ThinkPHP框架对Model类实例化的一种封装,并实现了单例模式,支持跨项目和分组调用 调用格式如下: D('[项目://][分组/]模型','模型层名称') 方法的返回值是实例化的模型对象。D方法可以自动检测模型类,如果存在自定义的模型类,则实例化自定义模型类,如果不存在,则会实例化Model基类,同时转载 2012-10-02 22:14:31 · 1880 阅读 · 0 评论 -
【thinkphp3.x】thinkphp3.x中查询条件的预处理功能
一、预处理功能的演示:<?php$Model->where("id=%d and username='%s' and xx='%f'",array($id,$username,$xx))->select();?>或者直接使用:<?php$Model->where("id=%d and username='%s' and xx='%f'",$id,$usernam转载 2012-10-02 17:36:18 · 2173 阅读 · 0 评论 -
【thinkphp3.x】thinkphp3.x多层MVC的支持
ThinkPHP基于MVC(Model-View-Controller,模型-视图-控制器)模式,不过均支持多层(multi-Layer)设计。一、模型(Model)层:默认的模型层由Model类构成,但是随着项目的增大和业务体系的复杂化,单一的模型层很难解决要求,从3.1开始推出了多层Model的支持,设计思路很简单,不同的模型层仍然都继承自系统的Model类,但是在目录结构和命转载 2012-10-02 16:22:20 · 957 阅读 · 0 评论 -
【thinkphp3.x】ThinkPHP/Lib/Behavior/ContentReplaceBehavior.class.php文件分析
tag('view_filter',$content);会调用此文件<?php// +----------------------------------------------------------------------// | ThinkPHP [ WE CAN DO IT JUST THINK IT ]// +-------------------------------原创 2012-10-01 20:29:59 · 1560 阅读 · 0 评论 -
【thinkphp3.x】thinkphp3.x中session方法的使用
一、Session方法用于Session 设置、获取、删除和管理操作。 Session 用于Session 设置、获取、删除和管理操作 用法 session($name, $value='') 参数 name(必须):如果传入数组 则表示进行session初始化,如果传入null表示清空当前session,如果是字符串则表示session赋值、获取或者操作。 Value转载 2012-10-03 12:01:19 · 4005 阅读 · 0 评论 -
【thinkphp3.x】thinkphp3.x中U方法生成url地址
U方法用于完成对URL地址的组装,特点在于可以自动根据当前的URL模式和设置生成对应的URL地址,格式为:U('地址','参数','伪静态','是否跳转','显示域名'); 在模板中使用U方法而不是固定写死URL地址的好处在于,一旦你的环境变化或者参数设置改变,你不需要更改模板中的任何代码。在模板中的调用格式需要采用 {:U('地址', '参数'…)} 的方式一、U转载 2012-10-03 11:23:29 · 3739 阅读 · 0 评论 -
【thinkphp3.x】thinkphp3.x中import方法导入类库的用法
import方法是ThinkPHP框架用于类库导入的封装实现,尤其对于项目类库、扩展类库和第三方类库的导入支持,import方法早期的版本可以和java的import方法一样导入目录和通配符导入,后来考虑到性能问题,在后续的版本更新中不断改进和简化了,所以现在的用法比较简单明了。调用格式: import('类库名', '起始路径', '类库后缀') import方法有一个别转载 2012-10-02 23:00:10 · 5734 阅读 · 0 评论 -
【thinkphp3.x】thinkphp3.x中使用show方法进行内容解析输出
ThinkPHP中页面输出的过程是读取模板文件,然后进行模板解析(也支持调用第三方模板引擎解析),但是有一些情况,我们并没有定义模板文件,或者把模板文件保存在数据库里面,那么这个时候进行页面输出的时候,我们是无法进行模板文件读取的,3.1版本则针对这样的情况增加了内容解析输出的功能。内置的模板引擎也进行了完善,如果传入的模板文件不存在的话,则会认为是传入的模板解析内容,因此,3.1的Vie转载 2012-10-02 22:36:41 · 2996 阅读 · 0 评论 -
【thinkphp3.x】thinkphp3.x中G方法的标记位置和区间统计的功能
ThinkPHP长期以来需要通过debug_start、debug_end方法甚至Debug类才能完成的功能,3.1版本中被一个简单的G方法取代了,不可不谓是一次华丽升级。G方法的作用包括标记位置和区间统计两个功能,下面来看下具体用法: 1.标记位置G方法的第一个用法就是标记位置,例如: G('begin');表示把当前位置标记为begin标签,并且记录当转载 2012-10-02 21:57:02 · 1310 阅读 · 0 评论 -
【thinkphp3.x】thinkphp3.x中动态设置自动验证与自动完成
在3.1版本之前,如果需要设置自动验证或者自动完成,一般来说必须定义在模型中,或者通过setProperty方法动态设置属性来完成,缺点是不太方便动态改变和调整。不过3.1版本在模型类中增加auto和validate两个连贯操作,用于动态设置自动完成和自动验证规则,现在可以在Action中使用: <?php$validate = array( array('verify'转载 2012-10-02 17:20:22 · 1024 阅读 · 0 评论 -
【thinkphp3.x】thinkphp3.x中的Widget功能
3.0版本的Widget对Action和View的支持力度是不够的,虽然能够实现基本的模板渲染输出。3.1版本的发布带来的多层MVC功能,给我们实现Widget的方式带来了新的思路,且看是如何实现吧。看过ThinkPHP3.1新特性详解:多层MVC的朋友们一定了解,3.1版本可以支持多层的控制器功能,因此我们可以在控制器层增加一层:Widget层。首先,还是在项目的Lib目录下面创转载 2012-10-02 17:10:49 · 665 阅读 · 0 评论 -
【thinkphp3.x】thinkphp3.x中M方法实例化模型对象
M方法用于实例化一个基础模型类,和D方法的区别在于: 1、不需要自定义模型类,减少IO加载,性能较好; 2、实例化后只能调用基础模型类(默认是Model类)中的方法; 3、可以在实例化的时候指定表前缀、数据库和数据库的连接信息;D方法的强大则体现在你封装的自定义模型类有多强,不过随着新版ThinkPHP框架的基础模型类的功能越来越强大,M方法也比D方法越来越实用转载 2012-10-02 22:30:16 · 3503 阅读 · 0 评论 -
【thinkphp3.x】thinkphp3.x中cookie方法的使用
一、cookie函数也是一个多元化操作函数,完成cookie的设置、获取和删除操作。 Cookie 用于Cookie 设置、获取、删除操作 用法 cookie($name, $value='', $option=null) 参数 name(必须):要操作的cookie变量 value(可选):要设置的cookie值 option(可选):传入的cookie设置参转载 2012-10-03 12:06:24 · 1786 阅读 · 0 评论 -
【thinkphp3.x】Model.class.php文件分析
// +----------------------------------------------------------------------// | ThinkPHP [ WE CAN DO IT JUST THINK IT ]// +----------------------------------------------------------------------//原创 2012-10-04 02:49:38 · 3185 阅读 · 0 评论 -
【thinkphp3.1.x】thinkphp3.1.x中有关redis缓存相关的文件
一、redis缓存类文件:'tp\ThinkPHP\Extend\Driver\Cache\CacheRedis.class.php'<?php// +----------------------------------------------------------------------// | ThinkPHP [ WE CAN DO IT JUST THINK IT ]// +-原创 2015-07-19 17:51:43 · 3428 阅读 · 0 评论 -
【thinkphp3.1.x】thinkphp3.1.x中有关session存储机制的相关文件
一、session存储方式为数据库: 'tp\ThinkPHP\Extend\Driver\Session\SessionDb.class.php'<?php // +----------------------------------------------------------------------// | ThinkPHP [ WE CAN DO IT JUST THINK IT原创 2015-07-19 17:42:03 · 2687 阅读 · 0 评论 -
【thinkphp3.1.x】thinkphp3.1.x中有关file文件缓存相关的文件
一、file文件缓存类文件:'tp\ThinkPHP\Lib\Driver\Cache\CacheFile.class.php'<?php// +----------------------------------------------------------------------// | ThinkPHP [ WE CAN DO IT JUST THINK IT ]// +----原创 2015-07-19 18:22:32 · 2729 阅读 · 1 评论 -
【thinkphp3.2.x】thinkphp3.2.x中有关redis缓存相关的文件
一、redis缓存类文件:'mytp\ThinkPHP\Library\Think\Cache\Driver\Redis.class.php'<?php// +----------------------------------------------------------------------// | ThinkPHP [ WE CAN DO IT JUST THINK IT ]/原创 2015-07-19 17:57:50 · 5447 阅读 · 0 评论 -
【thinkphp3.2.x】thinkphp3.2.x中有关session存储机制的相关文件
一、session存储方式为数据库: "tp\ThinkPHP\Library\Think\Session\Driver\Db.class.php"<?php // +----------------------------------------------------------------------// | ThinkPHP [ WE CAN DO IT JUST THINK IT原创 2015-07-19 17:30:12 · 5506 阅读 · 0 评论 -
【thinkphp3.2.x】thinkphp3.2.x中有关memcache缓存相关的文件
一、memcache缓存类文件:'mytp\ThinkPHP\Library\Think\Cache\Driver\Memcache.class.php'<?php// +----------------------------------------------------------------------// | ThinkPHP [ WE CAN DO IT JUST THINK原创 2015-07-19 18:14:43 · 3235 阅读 · 0 评论 -
【thinkphp3.1.x】thinkphp3.1.x中有关memcache缓存相关的文件
一、memcache缓存类文件:'tp\ThinkPHP\Extend\Driver\Cache\CacheMemcache.class.php'<?php// +----------------------------------------------------------------------// | ThinkPHP [ WE CAN DO IT JUST THINK IT ]原创 2015-07-19 17:48:38 · 2068 阅读 · 0 评论 -
【thinkphp】thinkphp递归循环栏目按照树形结构无限极输出
thinkphp递归循环栏目按照树形结构无限极输出,并保存为一个数组,利于模板调用private function categoryTree($parentid,$level) //因为是本类中使用所以定于为私有函数{$Category= D('Category');$result = $Category->where("`pa转载 2012-12-08 11:25:51 · 10456 阅读 · 0 评论 -
【thinkphp3.x】PHP中spl_autoload_register()函数的用法
spl_autoload_register(PHP 5 >= 5.1.2)spl_autoload_register — 注册__autoload()函数说明bool spl_autoload_register ([ callback $autoload_function ] )将函数注册到SPL __autoload函数栈中。如果该栈中的函数尚未激活,则激转载 2012-12-01 11:29:58 · 1419 阅读 · 0 评论 -
【thinkphp3.x】thinkphp3.x中自定义Action、Model及View
1、在xmall/Lib/Action中创建文件TestAction.class.php class TestAction extends Action{ function index(){ $this->display("test"); } }2、在xmall/tpl下创建default文件夹,在default下创建Test文件夹,在Test原创 2012-10-05 18:01:41 · 2008 阅读 · 0 评论 -
【thinkphp3.x】thinkphp3.x中连接mysql数据库
惯例配置文件:ThinkPHP/conf/convention.php(1)在配置文件中填写配置信息(配置文件:“./xmall/conf/config.php”):示例:<?phpreturn array( //'配置项'=>'配置值' /* 数据库设置 */ 'DB_TYPE' => 'mys原创 2012-10-05 17:34:24 · 1039 阅读 · 0 评论 -
【thinkphp3.x】thinkphp3.x中连贯操作方法的映射
连贯操作方法: where() limit() table() order() field() join() group() having() distinct() union()分别被映射到:Db.class.php类中的如下方法: parseWhere() parse原创 2012-10-04 03:26:26 · 872 阅读 · 0 评论 -
【thinkphp3.x】thinkphp3.x快速入门基础
一、简介ThinkPHP是一个快速、简单的基于MVC和面向对象的轻量级PHP开发框架,遵循Apache2开源协议发布,从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,尤其注重开发体验和易用性,并且拥有众多的原创功能和特性,为WEB应用开发提供了强有力的支持。二、目录结构ThinkPHP最新版本可以在官方网站(http://thinkphp.cn/d转载 2012-10-02 15:26:37 · 1407 阅读 · 0 评论 -
【thinkphp3.x】thinkphp3.x常量参考
一、预定义常量 URL_COMMON=0 普通模式 URL URL_PATHINFO=1 PATHINFO URL URL_REWRITE=2 REWRITE URL URL_COMPAT=3 兼容模式 URL HAS_ONE=1 HAS_ONE 关联定义 BELONGS_TO=2 BELONGS_TO 关联定义 HAS_MANY=3 HAS_MANY 关联定转载 2012-10-02 16:26:28 · 538 阅读 · 0 评论 -
【thinkphp3.x】thinkphp3.x中连贯操作
上一篇我们详细描述了查询语言的用法,但是查询语言仅仅解决了查询或者操作条件的问题,更多的配合还需要使用模型提供的连贯操作方法。 一、介绍连贯操作可以有效的提高数据存取的代码清晰度和开发效率,并且支持所有的CURD操作,也是ThinkPHP的ORM(对象关系映射)中的一个亮点。使用也比较简单, 假如我们现在要查询一个User表中满足状态为1的前10条记录,并希望按照用户的创建转载 2012-10-02 21:13:37 · 901 阅读 · 0 评论 -
【thinkphp3.x】thinkphp3.x中字段的合法性检测
3.1增加了表单提交的字段合法性检测,更好的保护数据的安全性。这一特性是3.1安全特性中的一个重要部分。表单字段合法性检测需要使用create方法创建数据对象的时候才能生效,有两种方式: 一、属性定义可以给模型配置insertFields 和 updateFields属性用于新增和编辑表单设置,使用create方法创建数据对象的时候,不在定义范围内的属性将直接丢弃,避免表单提交转载 2012-10-02 17:30:38 · 922 阅读 · 0 评论 -
【thinkphp3.x】thinkphp3.x基本的增加、删除、修改、查询
上一篇中,我们了解了ThinkPHP的基础部分,以及如何创建一个控制器和模板,并知道了M方法的用法,本篇将会讲解下数据的CURD操作,探索下更多的数据操作。 一、CURDCURD是一个数据库技术中的缩写词,一般的项目开发的各种参数的基本功能都是CURD。它代表创建(Create)、更新(Update)、读取(Read)和删除(Delete)操作。CURD 定义了用于处理数据的基本原转载 2012-10-02 16:11:46 · 7653 阅读 · 0 评论 -
【thinkphp3.x】ThinkPHP/Lib/Behavior/ParseTemplateBehavior.class.php文件分析
<?php// +----------------------------------------------------------------------// | ThinkPHP [ WE CAN DO IT JUST THINK IT ]// +-------------------------------------------------------------------原创 2012-10-01 20:22:17 · 3022 阅读 · 0 评论 -
【thinkphp3.x】ThinkPHP/Lib/Core/Dispatcher.class.php文件分析
<?php// +----------------------------------------------------------------------// | ThinkPHP [ WE CAN DO IT JUST THINK IT ]// +-------------------------------------------------------------------转载 2012-10-01 05:15:07 · 4876 阅读 · 0 评论 -
【thinkphp3.x】ThinkPHP/ThinkPHP.php文件分析
<?php// +----------------------------------------------------------------------// | ThinkPHP [ WE CAN DO IT JUST THINK IT ]// +-------------------------------------------------------------------原创 2012-10-01 05:34:46 · 958 阅读 · 0 评论 -
【thinkphp3.x】ThinkPHP/Lib/Core/Think.class.php文件分析
<?php// +----------------------------------------------------------------------// | ThinkPHP [ WE CAN DO IT JUST THINK IT ]// +-------------------------------------------------------------------原创 2012-09-06 16:50:07 · 4796 阅读 · 0 评论 -
【thinkphp3.x】ThinkPHP/Common/common.php文件中某些函数的分析
/** * 获取和设置配置参数 支持批量定义 * @param string|array $name 配置变量 * @param mixed $value 配置值 * @return mixed */function C($name=null, $value=null) { static $_config = array(); // 无参数时获取所有原创 2012-10-01 03:36:57 · 2232 阅读 · 0 评论 -
【thinkphp3.x】thinkphp3.x执行流程图分析
1.如下图所示:原创 2012-09-08 07:50:13 · 871 阅读 · 0 评论 -
【thinkphp3.x】thinkphp3.x的一些认识
看到ThinkPHP3.0提出了很多新概念,如CBD模式,AOP编程思想。着重对这两个新概念做个总结。 CBD认识 引用官方手册:ThinkPHP3.0版本引入了全新的CBD(核心Core+行为Behavior+驱动Driver)架构模式,因为从底层开始,框架就采用核心+行为+驱动的架构体系,核心保留了最关键的部分,并在重要位置设置了标签用以标记,其他功能都采用行为扩展和驱动的方式转载 2012-09-07 13:31:34 · 764 阅读 · 0 评论 -
【thinkphp3.x】ThinkPHP/Lib/Core/App.class.php文件分析
<?php// +----------------------------------------------------------------------// | ThinkPHP [ WE CAN DO IT JUST THINK IT ]// +----------------------------------------------------------------------原创 2012-09-07 13:05:55 · 13832 阅读 · 0 评论