- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
新版本php-5.4介绍
关于 PHP 5.4 你所需要知道的
PHP 5.4 来了,这是自 5.3 后的又一次主版本升级。此次升级改动较为显著,删除了
一些过气儿的函数,带来了高达 20% 的速度提升和更少的内存使用。
新特性与改动
PHP 5.4 主要包括以下特性 :
新增 : Traits( 横向重用 / 多重继承)
新增 : 更精简的 Array 数组语法
改善 : 改善了 Zend 引擎 , 带来了高达的速度提升和更少的内存使用
移动 :ext/sqlite moved to pecl (sqlite3 support is still built-in)
移除 :break/continue $var syntax
移除函数 :register_globals , allow_call_time_pass_reference , and
register_long_arrays inioptions
移除函数 : session_is_regisitered() , session_registered() , and
session_unregister()
的 reference ,这里有一份官方的详细列表可以供参考
/viewvc/php/php-src/branches/PHP_5_4/NEWS?view=mark
up
性能测试
测试 php-5.4.4 和 php-5.3.14 测试代码
1. ?php
2.
3. for($i=0; $i1000;$i++) {
4.
5. }
6.
7. echo hello;
用 ab 压测, 并发 1000, 请求 50000 次
系统内存消耗 单次请求平均时间 总请求耗时
php-5.4.4 83026.31(KB) 0.403 (ms) 20.128 (s)
php-5.3.14 77032.86(KB) 0.531 (ms) 26.561 (s)
服务器配置:
奔腾 cpu 2140 @ 1.60GHz 内存2G ,硬盘普通台式机希捷硬
盘 ST3160811AS, 操作系统 centos 4.9 web 服务器: httpd-2.4.2,经测试速
度比最新版本的 php-5.3.14 都快了很多,
Traits
Traits 不是什么新概念了 , c++, java 都有类似的东西 , 只不过这次 PHP 也
引入了进来 .
Traits 是一种轻量级的方法复用 ( 相对继承来说 ). 为什么这么说呢 ? 这就
好比 , 如果你提供一个基类供用户去继承使用 , 那么不可避免的你就需要考
虑如何能让用户继承后可用 , 如何避免用户改写了某些关键属性 , 覆盖了某
些关键方法而造成出错 . 这个时候你就要考虑改用 public 还是 private, 或
者 protected, 你还要考虑 , 那个方法应该申明为 FINAL..
而如果使用 Traits, 那么你就不需要担心这些问题 , 它是一种组合方式 , 你
提供的素材 , 无论在任何地方都是自我一个整体 .
?php
trait SayWorld {
public function sayHello () {
echo Hello World! ;
}
}
class MyHelloWorld extends Base {
use SayWorld ;
}
$o = new MyHelloWorld ();
$o - sayHello (); // Hello World
?
Traits 的最佳应用是多类之间可以共享相同的函数。打个比方,我们要做个网
站,需要使用 Facebook 和 Twitter 的 APIs 。我们要建 2 个类,如果是以前,
我们需要写一个 cURL 的方法并且复制 / 粘贴到两个类中。现在不用了,使用
Traits 重用代码吧,这次真正地遵循了 DRY(Don’t RepeatYourself) 原则。
?php
文档评论(0)