php函數method-exists()與is-callable()有何

時間:2024-07-27 17:45:06 PHP 我要投稿
  • 相關推薦

php函數method-exists()與is-callable()有何區別

  php函數method_exists() 與is_callable()的區別在哪?在php面相對象設計過程中,往往我們需要在調用某一個方法是否屬于某一個類的時候做出判斷,常用的方法有 method_exists()和is_callable(),相比之下,is_callable()函數要高級一些,它接受字符串變量形式的方法名作為 第一個參數,如果類方法存在并且可以調用,則返回true 。如果要檢測類中的方法是否能被調用,可以給函數傳遞一個數組而不是類的方法名作為參數 。數組必須包含對象或類名,以將其作為它的第一個元素,要檢查的方法名則作為第二個元素 。如果該方法在類中存在,函數返回true 。

  代碼示例:

  復制代碼 代碼如下:

  if ( is_callable( array( $obj, $method ) ) )

  {

  /*要操作的代碼段*/

  }

  is_callable()可以加收另外一個參數:一個布爾值,如果將該參數設置為true,函數僅僅檢查給定的方法或函數名稱的語法是否正確,而不檢查其是否真正存在 。method_exists()函數的參數為一個對象(或類名)和一個方法名,如果給定方法在對象的類中存在,則返回true

  代碼示例:

  復制代碼 代碼如下:

  if ( method_exists( $obj, $method ) )

  {

  /*要操作的代碼段*/

  }

  php函數method_exists()與is_callable()的區別在于在php5中,一個方法存在并不意味著它就可以被調用 。對于 private,protected和public類型的方法,method_exits()會返回true,但是is_callable()會檢查存在其是否可以訪問,如果是private,protected類型的,它會返回false 。

  php函數method_exists() 與is_callable()的區別在哪?在php面相對象設計過程中,往往我們需要在調用某一個方法是否屬于某一個類的時候做出判斷,常用的方法有 method_exists()和is_callable(),相比之下,is_callable()函數要高級一些,它接受字符串變量形式的方法名作為 第一個參數,如果類方法存在并且可以調用,則返回true 。如果要檢測類中的方法是否能被調用,可以給函數傳遞一個數組而不是類的方法名作為參數 。數組必須包含對象或類名,以將其作為它的第一個元素,要檢查的方法名則作為第二個元素 。如果該方法在類中存在,函數返回true 。

  代碼示例:

  復制代碼 代碼如下:

  if ( is_callable( array( $obj, $method ) ) )

  {

  /*要操作的代碼段*/

  }

  is_callable()可以加收另外一個參數:一個布爾值,如果將該參數設置為true,函數僅僅檢查給定的方法或函數名稱的語法是否正確,而不檢查其是否真正存在 。method_exists()函數的參數為一個對象(或類名)和一個方法名,如果給定方法在對象的類中存在,則返回true

  代碼示例:

  復制代碼 代碼如下:

  if ( method_exists( $obj, $method ) )

  {

  /*要操作的代碼段*/

  }

  php函數method_exists()與is_callable()的區別在于在php5中,一個方法存在并不意味著它就可以被調用 。對于 private,protected和public類型的方法,method_exits()會返回true,但是is_callable()會檢查存在其是否可以訪問,如果是private,protected類型的,它會返回false 。

【php函數method-exists()與is-callable()有何】相關文章:

PHP的壓縮函數03-31

淺析php函數的實例04-01

簡單介紹php構造函數用法03-15

PHP中的排序函數區別分析03-31

探討PHP函數的實現原理及性能04-01

PHP中函數的使用說明03-30

php外部執行命令函數03-31

php對圖像的各種處理函數代碼總結04-01

php字符串處理函數大全03-20

亚洲制服丝袜二区欧美精品,亚洲精品无码视频乱码,日韩av无码一区二区,国产人妖视频一区二区
亚洲自拍r级免费视频 | 日韩亚洲欧美国产动漫在线观看 | 日本强奷中文字幕在线播放 | 在线免费国产久 | 亚洲综合久久综合网 | 伊人青青久精品 |