全國(guó)咨詢(xún)/投訴熱線:400-618-4000

首頁(yè)技術(shù)文章正文

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

更新時(shí)間:2018-03-29 來(lái)源:黑馬程序員 瀏覽量:

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

最重要的安全

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

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

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),在他們?cè)O(shè)計(jì)的最高內(nèi)存填充率。

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

Mcrypt被取消

mcrypt密碼庫(kù)擴(kuò)展已正式取消。PHP的開(kāi)發(fā)小組說(shuō),mcrypt大大抑制PHP語(yǔ)言的發(fā)展,越來(lái)越像“老軟件?!?/p>

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

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

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

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

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

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

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

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

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

本文版權(quán)歸黑馬程序員PHP學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處。謝謝!

作者:黑馬程序員PHP培訓(xùn)學(xué)院

首發(fā):http://php.itheima.com/

分享到:
在線咨詢(xún) 我要報(bào)名
和我們?cè)诰€交談!