99re热视频这里只精品,久久久天堂国产精品女人,国产av一区二区三区,久久久精品成人免费看片,99久久精品免费看国产一区二区三区

一、新增特性和改變

2022-03-24 11:30 更新

一、新增特性和改變

1. 標(biāo)量類型和返回類型聲明(Scalar Type Declarations & Scalar Type Declarations)

PHP語(yǔ)言一個(gè)非常重要的特點(diǎn)就是“弱類型”,它讓PHP的程序變得非常容易編寫,新手接觸PHP能夠快速上手,不過(guò),它也伴隨著一些爭(zhēng)議。支持變量類型的定義,可以說(shuō)是革新性質(zhì)的變化,PHP開始以可選的方式支持類型定義。除此之外,還引入了一個(gè)開關(guān)指令declare(strict_type=1);,當(dāng)這個(gè)指令一旦開啟,將會(huì)強(qiáng)制當(dāng)前文件下的程序遵循嚴(yán)格的函數(shù)傳參類型和返回類型。

例如一個(gè)add函數(shù)加上類型定義,可以寫成這樣:

 PHP7革新與性能優(yōu)化 - 徐漢彬Hansion - 技術(shù)行者

如果配合強(qiáng)制類型開關(guān)指令,則可以變?yōu)檫@樣:

 PHP7革新與性能優(yōu)化 - 徐漢彬Hansion - 技術(shù)行者

如果不開啟strict_type,PHP將會(huì)嘗試幫你轉(zhuǎn)換成要求的類型,而開啟之后,會(huì)改變PHP就不再做類型轉(zhuǎn)換,類型不匹配就會(huì)拋出錯(cuò)誤。對(duì)于喜歡“強(qiáng)類型”語(yǔ)言的同學(xué)來(lái)說(shuō),這是一大福音。

更為詳細(xì)的介紹:

PHP7標(biāo)量類型聲明RFC[翻譯]  

2. 更多的Error變?yōu)榭刹东@的Exception

PHP7實(shí)現(xiàn)了一個(gè)全局的throwable接口,原來(lái)的Exception和部分Error都實(shí)現(xiàn)了這個(gè)接口(interface), 以接口的方式定義了異常的繼承結(jié)構(gòu)。于是,PHP7中更多的Error變?yōu)榭刹东@的Exception返回給開發(fā)者,如果不進(jìn)行捕獲則為Error,如果捕獲就變?yōu)橐粋€(gè)可在程序內(nèi)處理的Exception。這些可被捕獲的Error通常都是不會(huì)對(duì)程序造成致命傷害的Error,例如函數(shù)不存。PHP7進(jìn)一步方便開發(fā)者處理,讓開發(fā)者對(duì)程序的掌控能力更強(qiáng)。因?yàn)樵谀J(rèn)情況下,Error會(huì)直接導(dǎo)致程序中斷,而PHP7則提供捕獲并且處理的能力,讓程序繼續(xù)執(zhí)行下去,為程序員提供更靈活的選擇。

例如,執(zhí)行一個(gè)我們不確定是否存在的函數(shù),PHP5兼容的做法是在函數(shù)被調(diào)用之前追加的判斷function_exist,而PHP7則支持捕獲Exception的處理方式。

如下圖中的例子(截圖來(lái)源于PPT內(nèi)):

 

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)