php5.6已經發布alpha版,預示著下乙個大版本的公升級即將到來,php5.6帶來了哪些新特性?本文將介紹這些特性,並討論它們可以給開發者帶來哪些好處。
在常量、屬性宣告和函式引數預設值宣告時,以前版本只允許常量值,php5.6開始允許使用包含數字、字串字面值和常量的標量表示式。
<?php
const
one=1
;const
two=one*2
;classc
}echo
(new c)
->f()
."\n"
;echo
c::sentence
;
上面**輸出:
4
the value of three is
3
可變引數函式 的實現, 不再依賴func_get_args()函式,現在可以通過新增的操作符...
更簡潔地實現。
<?php
functionf(
$req
,$opt
=null
,...
$params)f
(1);f
(1,2
);f(1
,2,3
);f(1
,2,3
,4);f
(1,2
,3,4
,5);
上面**輸出:
$req: 1; $opt: 0; number of params: 0
$req: 1; $opt: 2; number of params: 0
$req: 1; $opt: 2; number of params: 1
$req: 1; $opt: 2; number of params: 2
$req: 1; $opt: 2; number of params: 3
在呼叫函式的時候,通過...
操作符可以把陣列或者可遍歷物件解包到引數列表,這和ruby等語言中的擴張(splat)操作符類似。
<?php
function
add($a,
$b,$c)
$operators =[
2,3];
echo
add(1
,...
$operators
);
上面**輸出:
6
use
操作符開始支援函式和常量的匯入。use function
和use const
結構的用法的示例:
<?php
namespace
name\space
}namespace
上面**輸出:
42
name\space\f
php自帶了乙個互動式偵錯程式phpdbg,它是乙個sapi模組,更多資訊參考 phpdbg文件 。
php://input
開始支援多次開啟和讀取,這給處理post資料的模組的記憶體占用帶來了極大的改善。
可以上傳超過2g的大檔案。
gmp 物件支援操作符過載和轉換為標量,改善了**的可讀性,如:
<?php
$a =
gmp_init(42
);$b
=gmp_init(17
);// pre-5.6 code:
var_dump
(gmp_add($a
,$b));var_dump
(gmp_add($a
,17));var_dump
(gmp_add(42
,$b));// new code:
var_dump($a
+$b);var_dump($a
+17);var_dump(42
+$b);
採用cryptopro s-box tables實現了gost-crypto
雜湊演算法,詳情參考 rfc 4357, section 11.2 。
openssl擴充套件新增證書指紋的提取和驗證功能,openssl_x509_fingerprint()
用於提取x.509證書的指紋,ssl stream context 選項:capture_peer_cert
用於獲取對方x.509證書;peer_fingerprint
用於斷言對方證書和給定的指紋匹配。
另外,可以通過ssl流上下文選項crypto_method
指定加密方法,如sslv3或tls,目前支援的選項值包括stream_crypto_method_sslv2_client, stream_crypto_method_sslv3_client, stream_crypto_method_sslv23_client (預設), or stream_crypto_method_tls_client。
linux系統安裝php5 6
安裝php的開始首先需要配置一下php的依賴包,使用 yum install libxml2和yum install libxml2 devel進行新增。使用.configure prefix usr local php with apxs2 usr local apache bin apxs命令進...
linux debian 編譯安裝php5 6
安裝編譯程式 apt get install gcc apt get install make apt get install libxml2 apt get install libxml 2.6 dev 建立安裝目錄 mkdir usr local php mkdir usr local php ...
原始碼編譯安裝php5 6
cd usr local src wget net get php 5.6 24.tar gz from this mirror mv mirror php 5.6 24.tar gztar zxvf php 5.6 24.tar gzcd php 5.6 24xml擴充套件 apt get ins...