paip.php 5.0 5.3 5.4 5.5 -6.0底初特性总结暨较

paip.php 5.0 5.3 5.4  5.5 -6.0底新特征总结和比较

 

PHP5的新特性
2

· 对象的参考过渡是默认的(default)
3

· 引入访问属性之限
3

· 引入访问方法的界定
3

· 抽象类和架空方法
3

· 接口 3

· final声明
3

· 名空间 3

· 类内常量
3

· 类变量 3

· 统一构建器
3

· 析构函数(Distructor)
3

· 其他附属特性
3

##PHP5.3的初特点你见面生出只新的喻与醒来。
4

1、首先针对之前滥用的语法进行了规范
4

2、MySQL驱动Mysqli 提高效率
4

3、PHP5.3安全暨性能的升官
4

4、延迟静态绑定
4

?:  操作符
4

增长的ini文件支持  INI Magic
4

增强的error handling
5

(1)名字空间,用来缓解命名为传染
6

(2)新的魔法函数 __callStatic 原来 __call的静态模式
6

(3)支持变量调用静态,可以经过$someClass::$method()调用
6

(4)新增日期函数date_create_from_format
6

(5)新增了仿佛JavaScript中的匿名函数和闭包
6

1. (6)新魔法常量 __DIR__ 来解决途径问题
6

巡回垃圾收集
6

SPL 添加了初的情,包括再链接表、栈、堆和班的落实,
7

##5.4重要包括以下特征:
9

###1. traits (多就承s解决方案)
9

Array dereferencing support  数组元素赋值到单变量
9

Short array syntax []
9

3.DTrace support
9

4.Webserver SAPI   /// Buid-in web server
10

5. Upload progress
11

6. JsonSerializable Interface
11

7. Use mysqlnd by default
11

愈精度计时器
11

##5.5新特性
12

1 生成器 yield关键字
12

2 finally关键字
12

3 foreach 支持list()
12

4 empty() 支持由定义函数了
12

5 非变量array和string也克支持下标获取了
12

6 类名经过::class可以取得
12

7 增加了opcache扩展
12

##PHP 6 新特性
13

Unicode支援
13

Web 2.0 特性 SOAP
13

 XML增强
13

参考 14

 

 

 

PHP5的初特色 

 

搭下去要按顺序看一下给强化的PHP5的性能。首先是极其重要之面向对象性能,类的实业特性在大的让改在。这里说之仅是关于类的新特征。 

 

· 对象的参照过渡是默认的(default) 

· 引入访问属性的限制 

· 引入访问方法的限定 

· 抽象类和抽象方法 

· 接口 

· final声明 

· 名空间 

· 类内常量 

· 类变量 

· 统一构建器 

· 析构函数(Distructor) 

· 其他附属特性 

 

笔者 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax

 

##PHP5.3的新特色你会时有发生个新的了解和清醒。

  1、首先针对前面滥用的语法进行了正式

  众所周知PHP在言语开发进程遭到起一个死好的容错性,导致在反复组要全局变量中带有字符串不利用引号是得不报错的,

2、MySQL驱动Mysqli 提高效率

  3、PHP5.3安全和性质的晋级

  如md5()大概提高了10%-15%底属性,更好之内存处理体制,提高软件性能的访。解决了include(require)_once重复打开的题目,之前once都是因此静态变量实现之,用gcc4编译的二进制文件拿再度小,整体性提高了5%-15%

  4、延迟静态绑定

PHP的静态是以预编译时即令稳定好的,所以当后续的早晚,父类里的self指的凡父类,而不是子类。而php5.3加入了新的语法static,可以于运转时刻捕捉当前类似

 

?:  操作符 

 

增进的ini文件支持  INI Magic

CGI/ FastCGI支持类似.htaccess的INI配置
每个目录下还足以生INI设置,ini的公文称在php.ini的配置,但是[PATH=/var/www/domain.com], [HOST=www.domain.com]段的安装用户不可知修改。

* CGI/FastCGI 支持”.htaccess” 形式的INI控制
* 用户可好设定每个目录的INI在php.ini中经[PATH=/var/www/domain.com]设定
* 优化错误处理
* 允许用户以INI变量和常量任何概念之INI文件中
* 其他几单稍之优化

用户从定义的php.ini(.htaccess) 文件名. 默认为”.user.ini”
user_ini.filename = “.user.ini”

 

8. 扩展的 OpenSSL 函数

* 使用 OpenSSL Digest 函数

foreach (openssl_get_md_methods() as $d) {// MD4, MD5, SHA512… (12 all in all)
echo $d. ” – “. openssl_digest(“foo”, “md5”); // acbd18db4cc2f85cedef654fccc4a4d8
}

增强的error handling

同意在ini文件中定义变量和常量,可以当程序中直接调用。
巴一段子ini文件的例证

 

  5、更多新特点

  (1)名字空间,用来缓解命名为传染

  (2)新的魔法函数 __callStatic 原来 __call的静态模式

  (3)支持变量调用静态,可以经$someClass::$method()调用

  (4)新增日期函数date_create_from_format

  (5)新增了近乎JavaScript中之匿名函数和闭包

1. (6)新魔法常量 __DIR__ 来解决途径问题

循环垃圾收集

污染源收集是 PHP 开发人员在性质方面遇到的一个题目。PHP 有一个非常简单的废料收集器,它事实上以对不再在内存范围(scope)中之目标开展垃圾收集。垃圾收集的中间方式是运用一个援计数器,因此当计数器达到 0 时(意味着对拖欠目标的援都不可用),对象将给视作垃圾收集并自外存中删除。

这种艺术工作得非常好,但是要一个目标下父子关系引用另一个靶,那就算会吸引问题。在这种情形下,这些目标的援计数器没有让采访,因此这些目标下的内存还是属于不引用的内存,并且直到好请求后才能够进行分红。下面看一下有关这种问题之例子。

 

当 PHP V5.3 中,垃圾收集器将检测这些循环引用,并且会自由它们所占据的内存,因此于履脚本时 PHP 内存以状态将保障平稳。当 Parent 类的每个援被去除后,Parent 类中之 Child 类引用也拿会让看作垃圾收集

 

 SPL 添加了新的情节,包括再链接表、栈、堆和行的贯彻,

业内 PHP 库(Standard PHP Library,SPL)是 PHP V5 中新增的接口及相近的集结,旨在解决正式问题。这些题材概括实现而迭代的目标,使对象拥有数组的行或促成一个链接的列表。这些近似及方法的长处是它们是原生的 PHP,这象征用 PHP 本身实现其会落重新快的进度。在广大气象下,这些看似以及道还允许内部 PHP 函数直接用这些目标,就如 Iterator 接口允许而使用 foreach 结构迭代对象同。

PHP V5.3 向 SPL 添加了再次多的近乎。我们面前提到一个像样即是在 SPL 类 SplDoublyLinkedList 中落实之重复链接列表。它供其他两独新 SPL 类使用:SplStack(实现一个仓房)和 SplQueue(实现一个行列)。

* 优化嵌套的目迭代次数由文件系统迭代

* 引入 GlobIterator

* 各种各样的数据结构类: 双链表, 堆栈, 队列, 堆, 小型堆, 大型堆, 优先级列

* 其他的异常绕口的一对特性

深受我们看同样禁闭什么利用 SplStack 类实现一个库房。

 

万一您取得了部分广阔的数据结构并且可轻松利用她。

清单 11. PHP V5.2 及之前版本不克恰到好处地针对父子类涉展开垃圾收集 

 

 getopt() 优化

getopt() 优化

* 影响 Windows 平台

* 本地的履不借助于让地面getopt()实现.

* 跨平台支撑长选项 (–option)
// input: –a=foo –b –c
var_dump(getopt(“”, array(“a:”,”b::”,”c”)));
/* output: array(3) {
[“a”]=>
string(3) “foo”
[“b”]=>
bool(false)
[“c”]=>
bool(false)
} */

XSLT Profiling
* 引入 Xslt Profiling 通过 setProfiling()实现

* 影响 Windows 平台

* 本地的实行不因让地面getopt()实现.

 

##5.4着重包括以下特征:

###1. traits (多随着承s解决方案)

Array dereferencing support  数组元素赋值到单变量

Short array syntax []

3.DTrace support

 

php5.4新功能Traits介绍

 

1. traits (多就承s解决方案)

Traits是于5.4面临新增的一个用于落实代码用的主意。

 

php是平等种单一继承的言语,我们鞭长莫及像java一样在一个class中extends多单基类来实现代码用,现在Traits能化解就一代码重用的题材,它亦可给开发者在差不多单不等的class中贯彻代码用。

Traits和class在语义的概念及都是为减小代码的纷繁,避免多重继承的题材。

 

Traits 和class相似,但是只有用于因统一与比较密切粒度的方来提供相同组功能,在Traits内部无法展开实例化,即不存在类似class的构造函数__construct()。Traits作为一个php传统延续的壮大并实现程度并;因此,在应用程序的class中可以不再需要持续。

 

Traits提供了相同种植灵活的代码用机制,即非像interface一样只能定义方法但不可知落实,又非能够像class一样

Traits (横向重用/多重继承)是相同组组织很像“类”(但无能够实例化)的不二法门,它好让开发人员在不同之好像中轻轻松松地引用方法。 PHP为单继承语言,子类只能连续一个父类,于是Traits来了。

 

Traits的极品应用是多类之间可以共享相同的函数

 

2.Array dereferencing support  数组元素赋值到独变量

echo myfunc()[1];

3.DTrace support

 

DTrace是一个性能分析工具, 可以跟出函数调用点,返回点等数, 对于这我哉无是那个了解, 感兴趣的同班可以参见PHP 5.3.99-DEV AND DTRACE PART I

4.Webserver SAPI   /// Buid-in web server

 

末了, PHP5.4还新增了一个SAPI, 这个SAPI将支撑直接把PHP当做Websever使用:

 

PHP5.4内置了一个概括的Web服务器,这样于做一些简练程序即使便宜多矣,省去了条件布置的劳作,特别对于新家的话

 

3. Short array syntax

PHP5.4提供了多次组简短语法:

 

1

$arr = [1,’james’, ‘james@fwso.cn’];

 

 

$fruits = array(‘apples’, ‘oranges’, ‘bananas’); // “old” way

 

// 学Javascript的数组了

 

$fruits = [‘apples’, ‘oranges’, ‘bananas’];

 

// 关联数组Map in java

 

$array = [

 

‘foo’ => ‘bar’,

 

‘bar’ => ‘foo’

 

];

 

5. Upload progress

Session提供了上传进度支持,通过$_SESSION[“upload_progress_name”]尽管可获取当前文件上传的速度信息,结合Ajax就会挺轻实现上传进度条了。

 

参考:http://www.laruence.com/2011/10/10/2217.html

 

6. JsonSerializable Interface

贯彻了JsonSerializable接口的类似的实例在json_encode序列化的前面会调用jsonSerialize方法,而非是直接序列化对象的习性。

参考:http://www.laruence.com/2011/10/10/2204.html

 

7. Use mysqlnd by default

现在mysql, mysqli, pdo_mysql默认使用mysqlnd本地库,在PHP5.4以前用:

 

大精度计时器

 

本次引入了$_SERVER[‘REQUEST_TIME_FLOAT’]数组变量,微秒级精度(百万分之一秒,float类型)。对于统计脚本运行时会生管用:

 

 

##5.5新特性

1 生成器 yield关键字

yield的华语文档在此间:http://php.net/manual/zh/language.generators.overview.php

翻看文档,能知道yield的一个效就是是能够行的下跌迭代的内存开销。比如官网的此xrange例子:

2 finally关键字

其一和java中之finally一样,经典的try … catch … finally 三段式异常处理。

3 foreach 支持list()

4 empty() 支持由定义函数了

之前empty()中之参数是勿可知吧函数的。现在好了

5 非变量array和string也克支撑下标获取了

6 类名通过::class可以获

7 增加了opcache扩展

使opcache会提高php的属性,你可以跟外扩展一样静态编译(–enable-opcache)或者动态扩展(zend_extension)加入此优化项。

 

 

 

 

##PHP 6 新特性

 

PHP 6目前已經作為開發者快照使用,所以你可以下載和試用一下這篇文章列有不少表征,這些特性已經在眼前的快照中實現了。見資源。

 

 Unicode支援

 

于PHP的骨干函數中,有不少對Unicode字串的拉扯的改進,這些新特色將產生大幅度的影響因為它允許PHP為國際字元提供再多的助。所以要一個開發者或者架構師使用不同的語言,例如Java程式語言,是因為它具有超過PHP的國際化支援的話,當支援改進時他會花一點時間來考慮一下PHP。

因為今天您已經可以下載到開發者

Web 2.0 特性 SOAP

依賴於你怎麼使用PHP和你現在Script的是什麼樣子的,現在之語言和語法差異,可能會或者未會最酷程度之影響下面有特色,這是依靠那些直接讓你引用的Web 2.0作用及你的PHP應用程式。

SOAP
SOAP是平等種網路服務「說 話」的協議,並且支援不少别样語言,例如Java和微軟的.NET,雖然有另外的方式來驅動和动網路服務,比如 表象化狀態轉變(Representational State Transfer )REST,SOAP仍然当苟不同平台具有操作性中凡是太常用的。此外,SOAP在PHP擴充和PEAR庫中采取,SOAP在PHP中預設是无帮忙的,因 此而啟用這個擴充或者吃你的ISP啟用。此外,PEAR包允許你建SOAP客戶端和伺服器,如SOAP包。

假使你改變了預設設定,SOAP將會在PHP 6中啟用。這個擴充將提供你大爱的底實現SOAP客戶端和SOAP服務,允許你編寫的應用提供使用或者網路服務。

如SOAP擴充是預設設定,那便意味著你切莫克于PHP中設定它們,如果您開發的PHP應用程式並且它們發佈到一個ISP伺服器上,您可能得檢查一下您的ISP,以驗證SOAP並啟用為他們升級。

XML增强 

 

于PHP 5.1蒙XMLReader 和XMLWriter已經變成PHP核心的平有些,這使您办事起來更輕鬆如果以公的PHP程式中需要运用及XML的話。和SOAP擴充一樣,如果你下SOAP或者XML這是個好信息因為PHP 6比较已經出爐的PHP4 更適合你。

参考

PHP5.0新特性_PHP_华夏网管联盟bitsCN.com.htm

PHP5.3之后的新特征_PHP教程_编程技术.htm

PHP5.3新特点介绍.htm

PHP V5.3 中的新特色,第 1 有  对象接口的变化.htm

PHP 5.3 5.4初特点整理 – 【人人分享-人人网】.htm

 

traits:Traits技术新探 – 大CC – 博客园.htm

PHP5.4的新特征   风雪之隅.htm

PHP5.4新特点   喵了单咪.htm

PHP5.4发布:新特色与转移_PHP资讯_精品学习网.htm

PHP 5.5 新特性 – 轩脉刃 – 博客园.htm

PHP 6 的初特点 – 討論PHP的  – 博客园.htm

网站地图xml地图