Ajaxpaip.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

相关文章