程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP5.5的新特性

PHP5.5的新特性

編輯:關於PHP編程

看了@軒脈刃 今天出爐的PHP 5.5 新特性。不過沒有翻譯全,我這裡稍微補充下,整理成完整的一篇:)

原文:http://www.php.net/manual/zh/migration55.new-features.php

1,生成器

php5.5通過引入yield關鍵字來支持generators。Generators提供了一種更加簡潔的生成迭代器的方式,無需通過笨重復雜的Iterator接口。

一個簡單的示例:利用generators實現和range函數一樣的迭代功能

 xrange(, ,  = 1 ( = ;  <= ;  +=  'Single digit odd numbers: '
 (xrange(1, 9, 2)   " " "\n";

以上例程會輸出:

Single digit odd numbers: 1 3 5 7 9

2,添加finally關鍵字

try-catch語句現在支持後邊添加finally。無論是否會拋出異常,finally中的代碼總是會被執行。

3,新的哈希API

添加了一個新的hash函數API,它可以更簡單的生成安全的散列值,並且能夠像crypt()一樣用於密碼驗證管理。詳細請參閱:password_hash()。

4,foreach支持list()

現在,foreach能夠利用list()結構分解被嵌套的數組,並且提取其中的值。舉例來說:

 =1, 2],3, 4], (  (,  "A: ; B: \n"

以上例程會輸出:

A: 1; B: 2
A: 3; B: 4

更多文檔可以參見foreach手冊。

5,empty()支持表達式

現在可以將任意的表達式傳入empty()中。例如:

  ( "This will be printed.\n" (( "This will not be printed.\n"

以上例程會輸出:

This will be printed.

6,array和string字面的dereferencing

可以利用下標訪問array、string字面中的某個元素或者char。(ps:dereferencing不知道怎麼翻譯才准確...看了軒脈刃的表述:支持用下標獲取,呵呵,其實就是這個意思。)

 'Array dereferencing: ' [1, 2, 3][0 "\n" 'String dereferencing: ' 'PHP'[0 "\n";

以上例程會輸出:

Array dereferencing: 1
String dereferencing: P

7,通過::class獲取類名

可以利用ClassName::class 獲取class完整的類名。例如:

 ClassName:: "\n";

以上例程會輸出:

Name\Space\ClassName

8,新增擴展OPcache

Zend Optimiser+的opcode cache被加入了php擴展,成為OPcache extension。OPcache可以提高php的執行性能,它能夠在共享內存中存儲編譯好的opcode,以此節約原本為每個請求加載\解析php腳本的時間。具體安裝和使用詳情請參考the installation instructions。

9,foreach支持非標量key

foreach現在支持任何類型的key。原生的php數組僅能夠用標量作為key,而現在可以通過實現Iterator::key()來返回任意類型的數據,並且foreach均能接收。

10,在win平台上支持Apache 2.4

windows上用於apache2.4的SAPI已被實現支持。

11,改進GD

GD擴展做出了很多改進,包括:

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved