
thinkphp
文章平均质量分 81
dianas
大肚能容,容天下难容之事,开口便笑,笑世间可笑之人
展开
-
ThinkPHP 数据CURD
上一篇中,我们了解了ThinkPHP的基础部分,以及如何创建一个控制器和模板,并知道了M方法的用法,本篇将会讲解下数据的CURD操作,探索下更多的数据操作。 CURDCURD是一个数据库技术中的缩写词,一般的项目开发的各种参数的基本功能都是CURD。它代表创建(Create)、更新(Update)、读取(Read)和删除(Delete)操作。CURD 定义了用于处理数据的基本原子操原创 2013-08-26 10:05:16 · 904 阅读 · 0 评论 -
ThinkPHP 模板布局
ThinkPHP的模板引擎内置了布局模板功能支持,可以方便的实现模板布局以及布局嵌套功能。有三种布局模板的支持方式:第一种方式:全局配置方式这种方式仅需在项目配置文件中添加相关的布局模板配置,就可以简单实现模板布局功能,比较适用于全站使用相同布局的情况,需要配置开启LAYOUT_ON 参数(默认不开启),并且设置布局入口文件名LAYOUT_NAME(默认为layout)。原创 2013-08-30 10:41:21 · 891 阅读 · 0 评论 -
ThinkPHP 安全
在开发过程中,除了确保业务逻辑没有安全隐患外,应该充分了解和利用框架内建的安全机制或者工具来确保应用以及服务器的安全性,下面我们总结下ThinkPHP中涉及到的安全机制。系统安全系统安全指ThinkPHP可以配合的服务器的安全部署策略。应用部署建议首先,我们建议在条件允许的情况下,把框架目录和项目目录都部署在非WEB访问目录下面,ThinkPHP的访问机制完全支持框架和原创 2013-08-30 10:43:46 · 1084 阅读 · 0 评论 -
ThinkPHP 多语言
ThinkPHP支持多语言,采用的是语言文件的方式。如果你的应用涉及到多个语言版本和国际化的支持,那么可以定义相关的语言包文件。任何字符串形式的输出,都可以定义语言常量。启用多语言要启用多语言功能,首先要下载多语言行为扩展(http://www.thinkphp.cn/extend/186.html),或者下载官方的完整扩展包(http://www.thinkphp.cn/down原创 2013-08-30 10:45:38 · 1135 阅读 · 0 评论 -
ThinkPHP 数据分页
我们已经了解了如何进行数据查询,今天我们来学习下如何对数据进行分页以及显示。获取分页类ThinkPHP提供了数据分页的扩展类库Page,可以在http://www.thinkphp.cn/extend/241.html下载,或者下载官方的完整扩展包(http://www.thinkphp.cn/down/253.html)里面也已经包含分页扩展类了。把解压后的Page.class.ph原创 2013-08-30 10:49:40 · 994 阅读 · 0 评论 -
ThinkPHP 文件上传
获取上传类ThinkPHP的扩展中提供了文件上传类库UploadFile,可以在在http://www.thinkphp.cn/extend/224.html下载,或者下载官方的完整扩展包(http://www.thinkphp.cn/down/253.html)里面也已经包含上传扩展类了。如果是单独下载的上传类库,把解压后的UploadFile.class.php 放入ThinkPHP/原创 2013-08-30 11:20:29 · 1199 阅读 · 1 评论 -
ThinkPHP 自动验证
自动验证是ThinkPHP模型层提供的一种数据验证方法,可以在使用create创建数据对象的时候自动进行数据验证。验证规则数据验证可以进行数据类型、业务规则、安全判断等方面的验证操作。数据验证有两种方式:静态方式:在模型类里面通过$_validate属性定义验证规则。动态方式:使用模型类的validate方法动态创建自动验证规则。无论是什么方式,验证规则的定义是统一原创 2013-08-30 10:31:55 · 983 阅读 · 0 评论 -
ThinkPHP 自动完成
自动完成是ThinkPHP提供用来完成数据自动处理和过滤的方法,使用create方法创建数据对象的时候会自动完成数据处理。因此,在ThinkPHP使用create方法来创建数据对象是更加安全的方式,而不是直接通过add或者save方法实现数据写入。规则定义自动完成通常用来完成默认字段写入,安全字段过滤以及业务逻辑的自动处理等,和自动验证的定义方式类似,自动完成的定义也支持静态定原创 2013-08-30 10:35:34 · 848 阅读 · 0 评论 -
ThinkPHP 验证码
在这个网络安全漫天飞的年代,验证码功能起码能算是一个值得信赖的好卫兵了。本篇我们就来讲下如何在ThinkPHP中使用验证码功能。获取扩展类库ThinkPHP的扩展中由图像处理类Image以及用于生成随机验证码的字符处理类String共同完成验证码功能,可以在在http://www.thinkphp.cn/extend/225.html下载图像处理类以及http://www.thin原创 2013-08-30 13:17:55 · 954 阅读 · 0 评论 -
ThinkPHP IP地址定位
在WEB应用中,根据IP地址定位和记录相关访问日志也是非常常见的需求,在ThinkPHP中你可以轻松的实现IP地址获取和定位。获取IP地址如果你仅仅需要获取用户访问的IP地址,那么直接使用系统内置的get_client_ip函数即可,该函数是ThinkPHP标准模式内置方法,可以直接使用,比PHP内置的系统变量$_SERVER['HTTP_CLIENT_IP']具有更好的兼容性原创 2013-08-30 13:20:08 · 2113 阅读 · 0 评论 -
ThinkPHP 行为
概述行为(Behavior)是ThinkPHP扩展机制中比较关键的一项扩展,行为既可以独立调用,也可以绑定到某个标签中进行侦听,官方提出的CBD模式中行为也占了主要的地位,可见行为在ThinkPHP框架中意义非凡。这里指的行为是一个比较抽象的概念,你可以想象成在应用执行过程中的一个动作或者处理,在框架的执行流程中,各个位置都可以有行为产生,例如路由检测是一个行为,静态缓存是一个行为,用户权原创 2013-08-30 13:22:49 · 1420 阅读 · 0 评论 -
ThinkPHP session方法
Session方法用于Session 设置、获取、删除和管理操作。Session 用于Session 设置、获取、删除和管理操作用法session($name, $value='')参数name(必须):如果传入数组 则表示进行session初始化,如果传入null表示清空当前session,如果是字符串则表示session赋值、获取或者操作。V原创 2013-09-03 16:22:17 · 1056 阅读 · 0 评论 -
ThinkPHP 命名范围
在应用开发过程中,使用最多的操作还是数据查询操作,凭借ThinkPHP的连贯操作的特性,可以使得查询操作变得更优雅和清晰,然而新版的命名范围功能,则是给模型操作定义了一系列的查询封装,让你更方便的查询数据。定义属性要使用命名范围功能,主要涉及到模型类的_scope属性定义和scope连贯操作方法的使用。我们首先定义_scope属性:class NewsModel e原创 2013-08-30 10:39:10 · 712 阅读 · 0 评论 -
ThinkPHP 多层MVC支持
hinkPHP基于MVC(Model-View-Controller,模型-视图-控制器)模式,不过均支持多层(multi-Layer)设计。模型(Model)层:默认的模型层由Model类构成,但是随着项目的增大和业务体系的复杂化,单一的模型层很难解决要求,从3.1开始推出了多层Model的支持,设计思路很简单,不同的模型层仍然都继承自系统的Model类,但是在目录结构和命名规范上做了区原创 2013-08-29 17:45:07 · 1019 阅读 · 0 评论 -
ThinkPHP 控制器高级特性
ThinkPHP的控制器层由核心控制器和业务控制器组成,核心控制器由系统内部的App类完成,负责应用(包括模块和操作)的调度控制,包括HTTP请求拦截和转发、加载配置等,业务控制器则由用户定义的Action类或者其他控制器类完成。我们通过前面的学习,已经了解了基本的控制器用法,这一篇我们来讲述下控制器的一些特性和高级用法,来探索ThinkPHP控制器的神秘外衣。[-more-]Ac原创 2013-08-26 10:27:37 · 1152 阅读 · 0 评论 -
ThinkPHP 路由
ThinkPHP框架对URL有一定的规范,所以如果你希望定制你的URL格式的话,就需要好好了解下内置的路由功能了,它能让你的URL变得更简洁和有文化。启用路由要使用路由功能,前提是你的URL支持PATH_INFO,并且在项目配置文件中开启路由:'URL_ROUTER_ON' => true, //开启路由复制代码然后就是配置路由规则了,使用URL原创 2013-08-26 10:17:11 · 1279 阅读 · 0 评论 -
ThinkPHP 变量输出
变量输出变量输出的方法很简单,例如,在控制器中我们给模板变量赋值:$name = 'ThinkPHP';$this->assign('name',$name);$this->display();复制代码然后就可以在模板中使用:Hello,{$name}!复制代码模板编译后的结果就是:Hello,php echo原创 2013-08-26 10:23:37 · 1798 阅读 · 0 评论 -
ThinkPHP 缓存
在项目中,合理的使用缓存对性能有较大的帮助。ThinkPHP提供了方便的缓存方式,包括数据缓存、静态缓存和查询缓存等,支持包括文件方式、APC、Db、Memcache、Shmop、Sqlite、Redis、Eaccelerator和Xcache在内的动态数据缓存类型,以及可定制的静态缓存规则,并提供了快捷方法进行存取操作。数据缓存在ThinkPHP中进行缓存操作,一般情况下并不需要原创 2013-08-26 10:25:50 · 995 阅读 · 0 评论 -
ThinkPHP U方法
U方法用于完成对URL地址的组装,特点在于可以自动根据当前的URL模式和设置生成对应的URL地址,格式为:U('地址','参数','伪静态','是否跳转','显示域名');在模板中使用U方法而不是固定写死URL地址的好处在于,一旦你的环境变化或者参数设置改变,你不需要更改模板中的任何代码。在模板中的调用格式需要采用 {:U('地址', '参数'…)} 的方式基本用法原创 2013-08-26 10:31:28 · 1770 阅读 · 0 评论 -
ThinkPHP连贯操作
上一篇我们详细描述了查询语言的用法,但是查询语言仅仅解决了查询或者操作条件的问题,更多的配合还需要使用模型提供的连贯操作方法。介绍连贯操作可以有效的提高数据存取的代码清晰度和开发效率,并且支持所有的CURD操作,也是ThinkPHP的ORM中的一个亮点。使用也比较简单, 假如我们现在要查询一个User表的满足状态为1的前10条记录,并希望按照用户的创建时间排序 ,代码如下:原创 2013-08-26 10:09:22 · 984 阅读 · 0 评论 -
ThinkPHP 基础
简介ThinkPHP是一个快速、简单的基于MVC和面向对象的轻量级PHP开发框架,遵循Apache2开源协议发布,从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,尤其注重开发体验和易用性,并且拥有众多的原创功能和特性,为WEB应用开发提供了强有力的支持。目录结构ThinkPHP最新版本可以在官方网站(http://thinkphp.cn/down/fr原创 2013-08-26 10:03:20 · 903 阅读 · 0 评论 -
ThinkPHP 调试
本篇我们来全面了解下如何在ThinkPHP开发过程中进行调试工作。调试模式说到调试,我们可能第一个想到的就是调试模式,没错,ThinkPHP也有专门为开发过程而设置的调试模式,ThinkPHP的调试模式与众不同,会牺牲一定的执行效率,但带来的方便和除错功能非常值得。 我们强烈建议ThinkPHP开发人员在开发阶段始终开启调试模式(直到正式部署后关闭调试模式),方便及时发现隐患问题和原创 2013-08-26 10:20:09 · 1045 阅读 · 0 评论 -
ThinkPHP 视图
在了解了控制器和模型操作后,我们开始熟悉视图部分,ThinkPHP中的视图主要就是指模板文件和模板引擎,本篇首先了解下模板文件以及是如何进行渲染输出的。模板定义为了对模板文件更加有效的管理,ThinkPHP对模板文件进行目录划分,默认的模板文件定义规则是:模板目录/[分组名/][模板主题/]模块名/操作名+模板后缀模板目录默认是项目下面的Tpl, 当定义分组的情况下,会按照原创 2013-08-26 10:22:11 · 882 阅读 · 0 评论 -
ThinkPHP 变量
获取变量首先,我们来谈下如何获取变量。第一种方式:传统获取方式你仍然可以在开发过程中使用传统方式获取各种系统变量,例如:$id = $_GET['id']; // 获取get变量$name = $_POST['name']; // 获取post变量$value = $_SESSION['var']; // 获取session变量$name = $_COOKIE原创 2013-08-26 10:12:18 · 972 阅读 · 0 评论 -
ThinkPHP 查询语言
上一篇中我们掌握了基本的数据CURD方法,但更多的情况下面,由于业务逻辑的差异,CURD操作往往不是那么简单,尤其是复杂的业务逻辑下面,这也是ActiveRecord模式的不足之处。ThinkPHP的查询语言配合连贯操作可以很好解决复杂的业务逻辑需求,本篇我们就首先来深入了解下框架的查询语言。介绍ThinkPHP内置了非常灵活的查询方法,可以快速的进行数据查询操作,查询条件可以用于原创 2013-08-26 10:06:53 · 835 阅读 · 0 评论 -
ThinkPHP cookie方法
cookie函数也是一个多元化操作函数,完成cookie的设置、获取和删除操作。Cookie 用于Cookie 设置、获取、删除操作用法cookie($name, $value='', $option=null)参数name(必须):要操作的cookie变量value(可选):要设置的cookie值option(可选):传入的cookie设置原创 2013-09-03 16:22:01 · 1329 阅读 · 0 评论