最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

概述

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

類名稱和數(shù)組

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

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

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

在定義demo()函數(shù)的時(shí)候,指定了函數(shù)接收的參數(shù)類型為數(shù)組。如果我們調(diào)用函數(shù)時(shí),傳入的參數(shù)不是數(shù)組類型,例如像下面這樣的調(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只支持兩種類型的類型聲明,其他任何標(biāo)量類型的聲明都是不支持的,比如下下面的代碼都將產(chǎn)生錯(cuò)誤:

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

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

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

總結(jié)

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

相關(guān)文章

最新評論

泰来县| 大渡口区| 郴州市| 温州市| 鄯善县| 丹江口市| 论坛| 扎兰屯市| 岳阳县| 保康县| 荔浦县| 建始县| 罗田县| 崇义县| 南昌县| 勃利县| 五河县| 塘沽区| 余江县| 城步| 左贡县| 岳普湖县| 巍山| 奎屯市| 万山特区| 遵化市| 乌海市| 巫溪县| 乃东县| 甘洛县| 孟连| 中牟县| 大邑县| 三门峡市| 临高县| 山阳县| 明水县| 峡江县| 宜君县| 开封县| 商水县|