无忧技术网 - RSS订阅 
无忧技术网

PHP5.3,PHP5.4,PHP5.5 之区别


作者:[佚名] - 发布:2015-1-27 11:58:23 - 来源:无忧技术网

参考文章:http://www.thinkphp.cn/document/474.html

PHP 5.3 PHP 5.4 PHP 5.5
1.__DIR__ 之前版本 dirname(__FILE__); 获取脚本目录,5.3用__DIR__定位,无需在调用函数; 1.Traits language construct 代码复用的一个方法 1.不再向后兼容
1).放弃对Windows XP和2003 的支持
2).弃用e修饰符。e修饰符是指示preg_replace函数用来评估替换字符串作为PHP代码,而不只是仅仅做一个简单的字符串替换。
2.操作符?: 可以直接快速去非空值。
如array()?:array(1);输出array(1)
2.数组引用支持 如:foo()[1] 2.新增函数和类
1).boolval()
2).hash_pbkdf2()PBKDF2全称“Password-Based Key 
Derivation Function 2”,正如它的名字一样,是一
种从密码派生出加密密钥的算法
3).array_column()新增array_column
(或array_pluck)函数
3.__callStatic() 静态调用,相当
于__call(),只是动态有点慢
3.DTrace 动态跟踪 是由 Sun? 开发的一个用来
在生产和试验性生产系统上找出系统瓶颈的工具
3.一个简单的密码散列API
4.允许动态方法调用静态方法 4.Zend 内存使用性能的提升 4.语言改变
5.延迟静态绑定 使用static::调用静态方法、属性,
可以在类的继承过程中进行动态绑定
5.ext/sqlite moved to pecl PHP扩展和应用仓库
(sqlite3 support is still built-in)
5.常量引用
“常量引用”意味着数组可以直接操作
字符串和数组字面值。
6.MySQLInd
1).特殊的,高速的专门为PHP设计的MySQL调用库接口
2).更好的性能
3).内存的使用优化
4).内置的驱动(不是适应性的再次扩展)
6.删除break/continue语法规则 6.调用empty()函数(和其他表达式)一起工作
7.INI Magic
1).CGI/FastCGI 支持".htaccess" 形式的INI控制
2).用户可以自己设定每个目录的INI在php.ini中通过[PATH=/var/www/domain.com]设定
3).优化错误处理允许用户使用INI变量和常量任何定义的INI文件中
7.删除 
1).register_globals 设置控制PHP变量访问范围, 
allow_call_time_pass_reference,是否启用在函数调用时强制参数被按照引用传递,
2).register_long_arrays ini options 设定 PHP 是否注册已过时的 $HTTP_*_VARS 之类的预定义变量
7.获取完整类别名称
8.扩展的 OpenSSL 函数
1).使用 OpenSSL Digest 函数;
2).使用 OpenSSL 加密函数
3).扩展的 openssl_pkey_new() 和
openssl_pkey_get_details()函数 
允许访问 内部的 DSA, RSA 和 DH 密匙.
其目标在PHP中实现一个简单的OpenId
8.删除
1).session_is_regisitered()检查变量是否在会话中已经注册 
2).session_unregister()检查变量是否未在会话中注册
8.参数跳跃
9.SPL(Standard PHP Library) 优化 
1).优化嵌套的目录迭代次数由文件系统迭代
2).引入 GlobIterator
3).各种各样的数据结构类: 双链表, 
堆栈, 队列, 堆, 小型堆, 大型堆, 优先级队列
9.PHP5.4内置了一个简单的Web服务器 9.标量类型提示
枚举类型、字符型和各种整数的表示
形式统一叫做标量类型
10.时间处理进行扩展了和添加
1).可控制的 strtotime()由date_create_from_format()实现
2).添加了 date_get_last_errors(),并且返回时间语法分析的错误和警告
10.通过构造Hash冲突实现各种语言的拒绝服务攻击 10.Getter 和 Setter
11.getopt()--分析命令行参数 优化
1).影响 Windows 平台
2).本地的执行不依赖于本地getopt()实现.
3).跨平台支持长选项 (--option)
11.函数类型提示的增强
  由于php是弱类型的语言,因此在php 5.0后,引入了函数类型提示的功能,其含义为对于传入函数中的参数都进行类型检查
11.生成器 目前,自定义迭代器很少使用,因为它们
的实现,需要大量的样板代码。生成器解决这个问题,并提供了一种简单的样板代码来创建迭代器。
12.XSLT Profiling 扩展样式表转换语言
1).引入 Xslt Profiling 通过 setProfiling()实现
12.列表解析和生成器表达式
列表解析提供一个简单的方法对数组进行小规模操作
生成器表达式返回一个迭代器(用于动态生成值)而不是
一个数组
13.E_DEPRECATED 标记
1).怎么样将一个php发行为一个没有错误的模式? 废弃
2).E_DEPRECATED用来指定废弃的功能,或许未来的版本中会消除。
13.GD库已经升级到2.1版本添加新功能和改进现有功能
14.垃圾回收器 GC
1).为复杂和长时间运行脚本的执行结束周期释放内存的清理
gc_enable(); // 激活GC,增强GC机制,回收循环引用的无效变量 
var_dump(gc_collect_cycles()); // 强制回收已无效的变量 
gc_disable(); // 禁用GC
14.添加final关键字
15.NOWDOC 
1).一个 HEREDOC 不再进行转译,一种Perl风格的字符串输出技术
15.添加了Zend OPcache扩展操作码缓存
16.支持名字空间(namespace)
17.mysql驱动mysqlnd
一直以来,php都是通过mysql客户端连接mysql,而现在mysql
官方已经推出php版的mysql客户端,而这个mysqlnd有效降低内
存的使用以及提高性能。
18.性能提高
1).Better stack implementation(工具) in the engine
2).常量保存在ROM里(Constants moved to read-only memory),
3).改进异常处理,操作码(opcode)更简洁
4).解决了include(require)_once重复打开的问题,之前once
我都是用静态变量实现的,终于解决这个问题了
5).用gcc4编译的二进制文件将更小
6).md5()大概提高了10%-15%的性能
19.Lambda函数和闭包
20.跳标签  指令goto转到操作符可以用于跳转到另一个部分
的程序
21.新增几个扩展
ext/phar,phar扩展提供了一种方法来把整个PHP应用程序到一个单一的文件称为“phar”(PHP存档),方便分发和安装
ext/intl,国际化功能 
ext/fileinfo,文件信息
ext/sqlite3,支持SQLite数据库版本3
ext/enchant附魔拼写图书馆,附魔步骤提供统一性和一致性上的拼写库,并实现一定的功能,可能是缺乏任何个别供应商库

责任编辑:liqwei
打印本页】【关闭本页】【返回列表
·上一篇:PHP 知识点整理
·下一篇:PHP资源整理
 文章评分
  • current rating
-5 -4 -3 -2 -1 0 +1 +2 +3 +4 +5
 相关文章
·[JS/CSS/HTML]CSS 中表示长度的 em 和 px 的区别是什么? (2015-01-27)
·[JS/CSS/HTML]HTML 空格的表示符号 nbsp / ensp / emsp 的区别? (2015-01-27)
·[至理名言]打工、生意、事业的区别 (2015-01-27)
·[系统综合]RFID 和 NFC 的区别 (2014-11-05)
·[协议规范]常见代理类型及区别:透明,匿名,高匿,socket4,socket5 (2013-11-14)
 相关评论
 站点最新文章 更多>> 
·[经典影音]弱点
·[经典影音]萨利机长
·[经典影音]天空之眼
·[管理知识]康奈尔笔记法,提高100%学习效率
·[管理知识]刘强东:我管75000人靠这4张表格
·[管理知识]跟壳牌学HSE管理
·[运营策划]编辑工作内容整理
·[至理名言]奋斗与决定
·[瀚海拾遗]盲人打灯笼之各家论道
·[搞笑段子]中国男足
 站点浏览最多 更多>> 
·[协议规范]http断点续传原理:http头 Range、…
·[JS/CSS/HTML]HTML 空格的表示符号 nbsp / en…
·[NoSQL]Mongo数据库简介
·[协议规范]什么是SPF记录?如何设置、检测SP…
·[协议规范]图解 HTTPS 通信过程
·[PHP]精选国外免费PHP空间推荐
·[程序综合]常用IP地址查询接口
·[程序综合]什么是 DNS Prefetch ?
·[程序综合]获取客户端IP地址的三个HTTP请求…
·[Linux]/usr 目录的由来