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

一 、首先对前边滥用的语法举行了规范
4

二 、MySQL驱动Mysqli 提升效能4

③ 、PHP5.3安全和性质的提拔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:14665壹玖捌叁9@qq.com
转发请注解来源: http://blog.csdn.net/attilax

 

##PHP5.3的新特征你会有个全新的精晓和醒来。

  一 、首先对在此之前滥用的语法进行了正规化

  无人不知PHP在言语开发进程中有3个很好的容错性,导致在数组或全局变量中带有字符串不应用引号是可以不报错的,

贰 、MySQL驱动Mysqli 升高效用

  三 、PHP5.3安全和总体性的升级

  如md5()大致进步了百分之十-15%的性情,更好的内存处理机制,提升软件质量的走访。化解了include(require)_once重复打开的题材,在此以前once都是用静态变量完结的,用gcc4编译的二进制文件将更小,全部品质升高了5%-15%

  四 、延迟静态绑定

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文件的例子

 

  五 、更加多新特征

  (1)名字空间,用来缓解命名被污染

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

  (3)辅助变量调用静态,可以经过$someClass::$method()调用

  (4)新增日期函数date_create_from_format

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

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

巡回垃圾收集

废品收集是 PHP 开发职员在质量方面蒙受的一个难题。PHP 有二个分外简单的污物收集器,它实际团长对不再位于内存范围(scope)中的对象举行垃圾收集。垃圾收集的中间形式是应用1个引用计数器,由此当计数器达到 0 时(意味着对该目的的引用都不可用),对象将被看作垃圾收集并从内存中删除。

那种办法行事得很好,可是假设3个对象使用父子关系引用另3个目标,那就会抓住难题。在那种气象下,那个目标的引用计数器没有被采访,由此那些目的使用的内存依旧属于未引用的内存,并且直到完结请求后才可以举办分红。上面看一下关于这种难点的例证。

 

在 PHP V5.3 中,垃圾收集器将检测这个循环引用,并且可以自由它们所占有的内存,由此在进行脚本时 PHP 内存使用情况将维持平稳。当 Parent 类的种种引用被删除后,Parent 类中的 Child 类引用也将会被看做垃圾收集

 

 SPL 添加了新的剧情,蕴含双重链接表、栈、堆和队列的落实,

规范 PHP 库(斯坦dard PHP Library,SPL)是 PHP V5 中新增的接口和类的集合,目的在于化解正式难题。那一个难题归纳已毕可迭代的对象,使对象拥有数组的作为或落到实处二个链接的列表。这几个类和章程的长处是它们是原生的 PHP,这象征用 PHP 本身完成它们会取得更快的快慢。在广大意况下,那个类和格局还同意内部 PHP 函数直接使用这一个目的,就像是 Iterator 接口允许你使用 foreach 结构迭代对象一样。

PHP V5.3 向 SPL 添加了越多的类。我们面前提到1个类就是在 SPL 类 SplDoublyLinkedList 中贯彻的再次链接列表。它供其余四个新 SPL 类使用:SplStack(完结一个栈)和 SplQueue(已毕2个行列)。

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

* 引入 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中新增的3个用以落到实处代码重用的措施。

 

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是3个属性分析工具, 可以跟踪出函数调用点,再次回到点等数码, 对于那些自家也不是很精通, 感兴趣的同班可以参见PHP 5.3.99-DEV AND DTRACE PA奥迪Q3T 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的2个效益就是能有效的下跌迭代的内存开支。比如官网的这几个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擴充和PEACRUISER庫中拔取,SOAP在PHP中預設是不支持的,因 此你啟用這個擴充或许叫您的ISP啟用。其余,PEALX570包允許你建立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

相关文章