Welcome 微信登录

首页 / 网页编程 / PHP

ThinkPHP3.1新特性之动态设置自动完成和自动验证示例

ThinkPHP3.1新特性之动态设置自动完成和自动验证示例

以往在ThinkPHP3.1版本之前,如果需要设置自动验证或者自动完成,一般来说必须定义在模型中,或者通过setProperty方法动态设置属性来完成,这样做的缺点是不太方便动态改变和调整。ThinkPHP3.1版本在模型类中增加auto和validate两个连贯操作,用于动态设置自动完成和自动验证规则,现在可以在Action中使用:$validate = array(array("verify","require","验证码必须!"), array("n...
ThinkPHP3.1新特性之字段合法性检测详解

ThinkPHP3.1新特性之字段合法性检测详解

ThinkPHP3.1版增加了表单提交的字段合法性检测,可以更好的保护数据的安全性。这一特性是3.1安全特性中的一个重要部分。表单字段合法性检测需要使用create方法创建数据对象的时候才能生效,具体有两种方式:一、属性定义可以给模型配置insertFields 和 updateFields属性用于新增和编辑表单设置,使用create方法创建数据对象的时候,不在定义范围内的属性将直接丢弃,避免表单提交非法数据。insertFields 和 updateFi...
ThinkPHP3.1新特性之查询条件预处理简介

ThinkPHP3.1新特性之查询条件预处理简介

以往的ThinkPHP3.0版本对数组方式的查询条件会进行安全过滤(这是由于3.0强制使用了字段类型检测,所以数组方式的查询条件会强制转换为字段的设定类型),但是3.0版本并不支持字符串条件的安全过滤。而ThinkPHP3.1版本则增加了对条件字符串进行预处理的支持,让ORM的安全性更加得以保证。一、使用where方法Model类的where方法支持字符串条件预处理,使用方式:$Model->where("id=%d and username="%s...
ThinkPHP3.1新特性之G方法的使用

ThinkPHP3.1新特性之G方法的使用

长期以来ThinkPHP都是需要通过debug_start、debug_end方法甚至Debug类才能完成那些调试的功能,而在ThinkPHP3.1版本中,这些复杂的功能被一个简单的G方法取代了,这不可不谓是一次华丽升级。G方法的作用包括标记位置和区间统计两个功能,下面来看下具体用法:1.标记位置G方法的第一个用法就是标记位置,例如:G("begin");表示把当前位置标记为begin标签,并且记录当前位置的执行时间,如果环境支持的话,还能记录内存占用情况...
ThinkPHP3.1新特性之多数据库操作更加完善

ThinkPHP3.1新特性之多数据库操作更加完善

通常情况下,如果一个应用只是操作同一个数据库(或者分布式数据库)的话,你只需要在项目配置文件中定义数据库连接信息即可。这里说的多数据库操作一般指的是在一个应用中会操作不同的数据库(包括同类型的和不同类型的数据库),甚至包括动态切换多数据库的情况。对于早期版本的ThinkPHP来说,切换数据库需要使用高级模型,而现在的3.1版本则可以更加轻松的解决了。新版对多数据的支持有下面几种方式,开发人员可以根据实际情况选择合适的方式操作:1.模型定义数据库如果只是简单...
ThinkPHP3.1新特性之对页面压缩输出的支持

ThinkPHP3.1新特性之对页面压缩输出的支持

目前大多数浏览器都已经支持页面的压缩输出,通过压缩输出,页面大小可以减少30%,但是由于3.0及以前的版本都没有内置页面压缩输出功能,所以一般来说,开发人员需要自己在入口文件中添加:ob_start("ob_gzhandler");但是由于服务器环境的不同,有时候这个配置会和php.ini文件中的zlib压缩配置冲突。而ThinkPHP3.1版则内置了页面压缩输出的功能,不再需要再手动添加ob_gzhandler代码,增加OUTPUT_ENCODE配置参数...
ThinkPHP3.1新特性之内容解析输出详解

ThinkPHP3.1新特性之内容解析输出详解

以往版本的ThinkPHP中页面输出的过程是读取模板文件,然后进行模板解析(也支持调用第三方模板引擎解析),但是有一些情况,我们并没有定义模板文件,或者把模板文件保存在数据库里面,那么这种情况下进行页面输出的时候,我们是无法进行模板文件读取的,ThinkPHP3.1版本则针对这样的情况增加了内容解析输出的功能。内置的模板引擎也进行了完善,如果传入的模板文件不存在的话,则会认为是传入的模板解析内容,因此,ThinkPHP3.1版的View类和Action类也...
ThinkPHP3.1新特性之对分组支持的改进与完善概述

ThinkPHP3.1新特性之对分组支持的改进与完善概述

ThinkPHP3.1版本对分组的支持如了如下改进:每个分组支持独立的空模块ThinkPHP3.0及以前版本的分组不支持定义独立的空模块,空模块EmptyAction只能放置在分组目录外层,而ThinkPHP3.1版则改进了每个分组可以定义独立的空模块,对于有不同分组不同空模块需求的情况就方便了。公共Action和Model类优先加载分组目录ThinkPHP3.0版本分组如果要继承一个公共的Action类或者Model类分组目录下面的,这个继承的公共类只能...
ThinkPHP3.1新特性之对Ajax的支持更加完善

ThinkPHP3.1新特性之对Ajax的支持更加完善

ThinkPHP3.1版对AJAX的支持更加完善了,具体表现在:1.判断AJAX方式改进现在可以直接使用常量IS_AJAX来判断是否AJAX方式请求,用来取代之前的Action类的isAjax方法,优势是可以在任何代码里面进行判断。而Action类的error和success方法内置就支持对AJAX自动判断支持。2.ajaxReturn方法完善原来的ajaxReturn方法只能返回固定结构的数据,包括data、status和info索引信息,如果需要扩展额...
解密ThinkPHP3.1.2版本之独立分组功能应用

解密ThinkPHP3.1.2版本之独立分组功能应用

ThinkPHP的分组功能是广为开发者使用的一个具有很大实用价值的功能,该功能可以解决中大型项目情况中MVC分层文件过多导致不易管理的问题。而ThinkPHP3.1.2版本添加的独立分组功能则为此类问题提出了新的解决思路,更加适合组件化的开发模式。我们就此了解下这一功能。1.概述独立分组功能不影响原有分组模式的运行,并且原有分组模式仅需移动目录结构即可完成独立分组模式的升级,无需任何应用代码的改动。而且新的独立分组可以很方便的独立装卸和移动,可以摆脱原来普...
解密ThinkPHP3.1.2版本之模板继承

解密ThinkPHP3.1.2版本之模板继承

模板继承是ThinkPHP3.1.2版本添加的一项更加灵活的模板布局方式,模板继承不同于模板布局,甚至来说,应该在模板布局的上层。模板继承其实并不难理解,就好比类的继承一样,模板也可以定义一个基础模板(或者是布局),并且其中定义相关的区块(block),然后继承(extend)该基础模板的子模板中就可以对基础模板中定义的区块进行重载。因此,模板继承的优势其实是设计基础模板中的区块(block)和子模板中替换这些区块。每个区块由<block>&l...
解密ThinkPHP3.1.2版本之模块和操作映射

解密ThinkPHP3.1.2版本之模块和操作映射

模板和操作映射功能是ThinkPHP3.1.2版本支持的对模块和操作设置的映射机制,由于可以通过改变配置动态改变(实际真正改变,并非别名)URL访问地址,加强了应用的安全性,而且,映射机制具有URL不区分大小写访问的特性,对于应用的迁移也有很大的帮助。因为,普通情况下,如果需要更改URL的模块或者操作访问的话,需要改动的文件较多,容易导致关联性出错。尤其是很多应用需要迁移到新版本的时候,由于模型和控制器改动较多,导致URL地址出现大的调整,通过模块和操作映...
ThinkPHP3.1.3版本新特性概述

ThinkPHP3.1.3版本新特性概述

ThinkPHP3.1.3版本有一些特性,还是值得关注的,下面来简单说下。1、异常方面的改进新版的ThinkPHP3.1.3重写了异常类ThinkException(其实是完全简化成了直接继承系统Exception类),并且把异常逻辑改进封装到Think类中。主要涉及到Think类的appException方法和halt函数。并且改进后的异常处理支持系统致命错误的捕获,Think类增加了fatalError方法,原理是使用了register_shutdow...
ThinkPHP3.1数据CURD操作快速入门

ThinkPHP3.1数据CURD操作快速入门

1.CURD概述:CURD是一个数据库技术中的缩写词,一般的项目开发的各种参数的基本功能都是CURD。它代表创建(Create)、更新(Update)、读取(Read)和删除(Delete)操作。CURD 定义了用于处理数据的基本原子操作。之所以将CURD提升到一个技术难题的高度是因为完成一个涉及在多个数据库系统中进行CURD操作的汇总相关的活动,其性能可能会随数据关系的变化而有非常大的差异。CURD在具体的应用中并非一定使用create、update、r...
ThinkPHP3.1查询语言详解

ThinkPHP3.1查询语言详解

ThinkPHP的查询语言配合连贯操作可以很好解决复杂的业务逻辑需求,本篇我们就首先来深入了解下框架的查询语言。1.查询语言介绍ThinkPHP内置了非常灵活的查询方法,可以快速的进行数据查询操作,查询条件可以用于读取、更新和删除等操作,主要涉及到where方法等连贯操作即可,无论是采用什么数据库,你几乎采用一样的查询方法(个别数据库例如Mongo在表达式查询方面会有所差异),系统帮你解决了不同数据库的差异性,因此我们把框架的这一查询方式称之为查询语言。查...
PHP扩展CURL的用法详解

PHP扩展CURL的用法详解

实现的功能:1、实现远程获取和采集内容2、实现PHP 网页版的FTP上传下载3、实现模拟登陆:去一个邮件系统,curl可以模拟cookies4、实现接口对接(API),数据传输等:通过一个平台发送短信啊,抓取和传递所传输的信息。5、实现模拟Cookie等:登陆的状态下才可以操作一些属性。如何使用CURL功能:默认情况加PHP是不支持CURL的,需要在php.ini中开启该功能;extension=php_curl.dll前面的分号去掉1 整个操作过程中第一...
<< 401 402 403 404 405 406 407 408 409 410 >>