程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP中的類型提示(type hinting)功能介紹

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

編輯:關於PHP編程

       這篇文章主要介紹了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設計的初衷相悖。

      到底使用還是不使用類型聲明,大家見仁見智吧,本菜鳥不:).

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved