亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

PHP中的類(lèi)型提示(type hinting)功能介紹

 更新時(shí)間:2015年07月01日 15:08:10   投稿:junjie  
這篇文章主要介紹了PHP中的類(lèi)型提示(type hinting)功能介紹,本文講解了類(lèi)型提示的作用和使用方法以及使用示例,需要的朋友可以參考下

概述

從PHP5開(kāi)始,我們可以使用類(lèi)型提示來(lái)指定定義函數(shù)時(shí),函數(shù)接收的參數(shù)類(lèi)型。如果在定義函數(shù)時(shí),指定了參數(shù)的類(lèi)型,那么當(dāng)我們調(diào)用函數(shù)時(shí),如果實(shí)參的類(lèi)型與指定的類(lèi)型不符,那么PHP會(huì)產(chǎn)生一個(gè)致命級(jí)別的錯(cuò)誤(Catchable fatal error)。

類(lèi)名稱(chēng)和數(shù)組

在定義函數(shù)時(shí),PHP只支持兩種類(lèi)型聲明:類(lèi)名稱(chēng)和數(shù)組。類(lèi)名稱(chēng)表名該參數(shù)接收的實(shí)參為對(duì)應(yīng)類(lèi)實(shí)例化的對(duì)象,數(shù)組表明接收的實(shí)參為數(shù)組類(lèi)型。下面是一個(gè)例子:

復(fù)制代碼 代碼如下:

function demo(array $options){
  var_dump($options);
}

在定義demo()函數(shù)的時(shí)候,指定了函數(shù)接收的參數(shù)類(lèi)型為數(shù)組。如果我們調(diào)用函數(shù)時(shí),傳入的參數(shù)不是數(shù)組類(lèi)型,例如像下面這樣的調(diào)用:
復(fù)制代碼 代碼如下:

$options='options';
demo($options);

那么將產(chǎn)生以下錯(cuò)誤:
復(fù)制代碼 代碼如下:

Catchable fatal error: Argument 1 passed to demo() must be of the type array, string given,

可以使用null作為默認(rèn)參數(shù)

注意

有一點(diǎn)需要特別注意的是,PHP只支持兩種類(lèi)型的類(lèi)型聲明,其他任何標(biāo)量類(lèi)型的聲明都是不支持的,比如下下面的代碼都將產(chǎn)生錯(cuò)誤:

復(fù)制代碼 代碼如下:

function demo(string $str){
}
$str="hello";
demo($str)

當(dāng)我們運(yùn)行上面的代碼時(shí),string會(huì)被當(dāng)做類(lèi)名稱(chēng)對(duì)待,因此會(huì)報(bào)下面的錯(cuò)誤:
Catchable fatal error: Argument 1 passed to demo() must be an instance of string, string given,

總結(jié)

類(lèi)型聲明也是PHP面向?qū)ο蟮囊粋€(gè)進(jìn)步吧,尤其是在捕獲某種指定類(lèi)型的異常時(shí)非常有用。
使用類(lèi)型聲明,也可以增加代碼的可讀性。
但是,由于PHP是弱類(lèi)型的語(yǔ)言,使用類(lèi)型聲明又于PHP設(shè)計(jì)的初衷相悖。
到底使用還是不使用類(lèi)型聲明,大家見(jiàn)仁見(jiàn)智吧,本菜鳥(niǎo)不:).

相關(guān)文章

最新評(píng)論