国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

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

2024-05-04 23:37:05
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了PHP中的類型提示(type hinting)功能介紹,本文講解了類型提示的作用和使用方法以及使用示例,需要的朋友可以參考下
 

概述

從PHP5開始,我們可以使用類型提示來指定定義函數時,函數接收的參數類型。如果在定義函數時,指定了參數的類型,那么當我們調用函數時,如果實參的類型與指定的類型不符,那么PHP會產生一個致命級別的錯誤(Catchable fatal error)。

類名稱和數組

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

復制代碼代碼如下:

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

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

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

那么將產生以下錯誤:
復制代碼代碼如下:

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

 

可以使用null作為默認參數

注意

有一點需要特別注意的是,PHP只支持兩種類型的類型聲明,其他任何標量類型的聲明都是不支持的,比如下下面的代碼都將產生錯誤:

復制代碼代碼如下:

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

 

當我們運行上面的代碼時,string會被當做類名稱對待,因此會報下面的錯誤:
Catchable fatal error: Argument 1 passed to demo() must be an instance of string, string given,

總結

類型聲明也是PHP面向對象的一個進步吧,尤其是在捕獲某種指定類型的異常時非常有用。
使用類型聲明,也可以增加代碼的可讀性。
但是,由于PHP是弱類型的語言,使用類型聲明又于PHP設計的初衷相悖。
到底使用還是不使用類型聲明,大家見仁見智吧,本菜鳥不:).


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 龙州县| 建平县| 罗田县| 灌云县| 桂平市| 天台县| 枝江市| 湄潭县| 璧山县| 凤山市| 株洲县| 厦门市| 伊通| 朔州市| 廉江市| 托里县| 泰来县| 克什克腾旗| 修文县| 洛川县| 大埔区| 鄢陵县| 无为县| 资兴市| 翼城县| 开远市| 大田县| 昭觉县| 常山县| 奉节县| 麻江县| 沭阳县| 乐昌市| 泸西县| 同德县| 南木林县| 闽侯县| 元氏县| 全州县| 杨浦区| 米泉市|