教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

一文講解PHP7.2版本新特性

更新時(shí)間:2018年03月27日15時(shí)20分 來源:傳智播客 瀏覽次數(shù):

我們知道php被稱為“世界最好的語言“,我也是其中一位開發(fā)者,自從php7.2發(fā)布以來,我更加喜歡這門語言。讓我們看最新版本給我們帶來哪些精彩。

最重要的安全

7.2版本提供了一些非常必要的安全性改進(jìn)。

停止使用sha1() or md5(),請使用:

password_hash('password', PASSWORD_ARGON2I)

使用argon2i算法還支持自定義模式:

$options = [

'memory_cost' => PASSWORD_ARGON2_DEFAULT_MEMORY_COST,

'time_cost' => PASSWORD_ARGON2_DEFAULT_TIME_COST,

'threads' => PASSWORD_ARGON2_DEFAULT_THREADS,

];

password_hash('password', PASSWORD_ARGON2I, $options);

argon2算法解決了我個(gè)人的現(xiàn)有算法的缺點(diǎn),在他們設(shè)計(jì)的最高內(nèi)存填充率。

libsodium庫現(xiàn)在正式作為PHP核心的擴(kuò)展。我一直在等待這樣的一段時(shí)間了。

Mcrypt被取消

mcrypt密碼庫擴(kuò)展已正式取消。PHP的開發(fā)小組說,mcrypt大大抑制PHP語言的發(fā)展,越來越像“老軟件。”

對SSL / TLS(安全套接字層/傳輸層安全)常數(shù)進(jìn)行了改進(jìn)。

改進(jìn)的語言特性

還有其他的更新,用來幫助解決一些開發(fā)者關(guān)于PHP語言的改進(jìn)和建議。我們一起來看看。

PHP7.2在調(diào)用count()函數(shù)時(shí),它接收一個(gè)參數(shù)為一個(gè)標(biāo)量函數(shù),如果參數(shù)為空,或者一個(gè)對象,將返回未實(shí)現(xiàn)接口的警告信息。

關(guān)于對象類型聲明修復(fù)的情況,以前開發(fā)者不能聲明一個(gè)函數(shù)需要傳遞一個(gè)對象作為參數(shù)或聲明一個(gè)函數(shù)應(yīng)該返回一個(gè)對象。PHP7.2可以使用object作為一個(gè)參數(shù)類型和返回類型聲明。

hashcontext對象將哈希擴(kuò)展使用對象,而不是使用資源。

在使用對象/數(shù)組模型解決了與Zend引擎數(shù)字key轉(zhuǎn)換的問題。

在以前的開發(fā)實(shí)例中,哈希數(shù)組的Key可以包含數(shù)字和字符串,而對象哈希表是整數(shù)的索引。在這種情況下,導(dǎo)致PHP代碼找不到key。

PHP 7.2對此作了修復(fù),數(shù)組或?qū)ο蠊1淼膋ey會自動轉(zhuǎn)換為適當(dāng)?shù)念愋?,所以?shù)字字符串屬性名對象會成為整數(shù)數(shù)組中的key,反之亦然,解決了無法訪問的性能問題。

本文版權(quán)歸傳智播客PHP學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明作者出處。謝謝!
 
作者:傳智播客PHP培訓(xùn)學(xué)院
 
首發(fā):http://php.itcast.cn/ 

0 分享到:
和我們在線交談!