【探秘PHP6.0的新特性_PHP教程】教程文章相关的互联网学习教程文章

PHPV5.3.0新特性详解_PHP

考察的特性 本文主要考察 PHP V5.3 的以下特性: 延迟静态绑定 名称空间 类方法重载 变量解析和 heredoc 但是,在继续之前,需要设置 PHP V5.3。 设置 PHP 广为人知的一个特点就是设置起来有点麻烦。这也许是因为 PHP 是安装在 Web 服务器(例如 Apache)上的,而且常常需要连接到外部数据库(例如 MySQL)。而且,某种意义上,PHP 脚本是嵌入在 HTML 代码中的。换句话说,PHP 这种技术横跨多个复杂的领域。所以,在编写 PHP 脚本代...

PHP5.3新特性命名空间规则解析及高级功能_PHP【代码】

日前发布的PHP 5.3中,最重要的一个新特性就是命名空间的加入。本文介绍了PHP命名空间的一些术语,其解析规则,以及一些高级功能的应用,希望能够帮助读者在项目中真正使用命名空间。 在这里中我们介绍了PHP命名空间的用途和namespace关键字,在这篇文章中我们将介绍一下use命令的使用以及PHP如何解析命名空间的名字的。 为了便于对比,我定义了两个几乎一样的代码块,只有命名空间的名字不同。< ?php // application library 1...

解析PHP5.5新特性_PHP

PHP5.5 前不久前刚刚发布,里面的新特性有什么?官方文档在这里:http://www.php.com/manual/zh/migration55.new-features.php1 生成器 yield关键字yield的中文文档在这里:http://php.com/manual/zh/language.generators.overview.php查看文档,能知道yield的一个功能就是能有效的降低迭代的内存开销。比如官网的这个xrange例子: 代码如下:function xrange($start, $limit, $step = 1) { for ($i = $start; $i yield...

PHP5各个版本的新功能和新特性总结_PHP

本文目录:PHP5.2 以前:autoload, PDO 和 MySQLi, 类型约束PHP5.2:JSON 支持PHP5.3:弃用的功能,匿名函数,新增魔术方法,命名空间,后期静态绑定,Heredoc 和 Nowdoc, const, 三元运算符,PharPHP5.4:Short Open Tag, 数组简写形式,Traits, 内置 Web 服务器,细节修改PHP5.5:yield, list() 用于 foreach, 细节修改PHP5.6: 常量增强,可变函数参数,命名空间增强 一、PHP5.2以前(2006前)顺便介绍一下 PHP5.2 已经出现但值得介...

PHP6中可能会出现的新特性预览_PHP

这些特性包括:集成OpCache(OPcache通过对PHP的opcode进行缓存和优化,可以提高PHP程序的执行速度) 改善对64位环境的支持 支持Unicode 清理内部API 提升代码质量,做到Warning-Free 改善OPcodes、编译器、运行时 JIT编译器(LibJIT?) 支持Annotation(注解?) 命名自变量(Named argument) 不同等级的类型提示 支持HTTP 2.0协议(可能会使用nghttp2,避免重复造轮) 可靠、友好的RNG API ...

ThinkPHP3.1新特性之动态设置自动完成及自动验证示例代码_PHP

ThinkPHP 在ThinkPHP3.1版本之前,如果需要设置自动验证或者自动完成,必须定义在模型中,或者通过setProperty方法动态设置属性来完成,但是这样做的缺点是不太方便动态改变和调整 。 ThinkPHP3.1版本在模型类中增加auto和validate两个连贯操作,用于动态设置自动完成和自动验证规则,现在可以在Action中使用,示例代码如下: $validate = array(array(verify,require,验证码必须!), array(name,,帐号名称已经存在!,0,unique,1),...

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

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

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

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

ThinkPHP3.1新特性之命名范围的使用_PHP

ThinkPHP ThinkPHP3.1的命名范围功能,给模型操作提供了一系列的(连贯操作)封装,让你更方便的查询和操作数据。下面我们就来具体了解下这一用法。 1.定义属性 要使用命名范围功能,主要涉及到模型类的_scope属性定义和scope连贯操作方法的使用。 我们首先定义_scope属性: class NewsModel extends Model {protected $_scope = array(// 命名范围normalnormal=>array(where=>array(status=>1),),// 命名范围latestlatest=>array(...

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

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

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

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

ThinkPHP3.1新特性之多层MVC的支持_PHP

ThinkPHP 1.模型(Model)层:默认的模型层由Model类构成,但是随着项目的增大和业务体系的复杂化,单一的模型层很难解决要求,从3.1开始推出了多层Model的支持,设计思路很简单,不同的模型层仍然都继承自系统的Model类,但是在目录结构和命名规范上做了区分,例如在某个项目设计中需要区分数据层、逻辑层、服务层等不同的模型层,我们可以在项目的Lib目录下面创建Model、Logic和Service目录,把对用户表的所有模型操作分成三层:...

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

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

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

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

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

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