- 相關(guān)推薦
php函數method-exists()與is-callable()有何區別
php函數method_exists() 與is_callable()的區別在哪?在php面相對象設計過(guò)程中,往往我們需要在調用某一個(gè)方法是否屬于某一個(gè)類(lèi)的時(shí)候做出判斷,常用的方法有 method_exists()和is_callable(),相比之下,is_callable()函數要高級一些,它接受字符串變量形式的方法名作為 第一個(gè)參數,如果類(lèi)方法存在并且可以調用,則返回true 。如果要檢測類(lèi)中的方法是否能被調用,可以給函數傳遞一個(gè)數組而不是類(lèi)的方法名作為參數 。數組必須包含對象或類(lèi)名,以將其作為它的第一個(gè)元素,要檢查的方法名則作為第二個(gè)元素 。如果該方法在類(lèi)中存在,函數返回true 。
代碼示例:
復制代碼 代碼如下:
if ( is_callable( array( $obj, $method ) ) )
{
/*要操作的代碼段*/
}
is_callable()可以加收另外一個(gè)參數:一個(gè)布爾值,如果將該參數設置為true,函數僅僅檢查給定的方法或函數名稱(chēng)的語(yǔ)法是否正確,而不檢查其是否真正存在 。method_exists()函數的參數為一個(gè)對象(或類(lèi)名)和一個(gè)方法名,如果給定方法在對象的類(lèi)中存在,則返回true
代碼示例:
復制代碼 代碼如下:
if ( method_exists( $obj, $method ) )
{
/*要操作的代碼段*/
}
php函數method_exists()與is_callable()的區別在于在php5中,一個(gè)方法存在并不意味著(zhù)它就可以被調用 。對于 private,protected和public類(lèi)型的方法,method_exits()會(huì )返回true,但是is_callable()會(huì )檢查存在其是否可以訪(fǎng)問(wèn),如果是private,protected類(lèi)型的,它會(huì )返回false 。
php函數method_exists() 與is_callable()的區別在哪?在php面相對象設計過(guò)程中,往往我們需要在調用某一個(gè)方法是否屬于某一個(gè)類(lèi)的時(shí)候做出判斷,常用的方法有 method_exists()和is_callable(),相比之下,is_callable()函數要高級一些,它接受字符串變量形式的方法名作為 第一個(gè)參數,如果類(lèi)方法存在并且可以調用,則返回true 。如果要檢測類(lèi)中的方法是否能被調用,可以給函數傳遞一個(gè)數組而不是類(lèi)的方法名作為參數 。數組必須包含對象或類(lèi)名,以將其作為它的第一個(gè)元素,要檢查的方法名則作為第二個(gè)元素 。如果該方法在類(lèi)中存在,函數返回true 。
代碼示例:
復制代碼 代碼如下:
if ( is_callable( array( $obj, $method ) ) )
{
/*要操作的代碼段*/
}
is_callable()可以加收另外一個(gè)參數:一個(gè)布爾值,如果將該參數設置為true,函數僅僅檢查給定的方法或函數名稱(chēng)的語(yǔ)法是否正確,而不檢查其是否真正存在 。method_exists()函數的參數為一個(gè)對象(或類(lèi)名)和一個(gè)方法名,如果給定方法在對象的類(lèi)中存在,則返回true
代碼示例:
復制代碼 代碼如下:
if ( method_exists( $obj, $method ) )
{
/*要操作的代碼段*/
}
php函數method_exists()與is_callable()的區別在于在php5中,一個(gè)方法存在并不意味著(zhù)它就可以被調用 。對于 private,protected和public類(lèi)型的方法,method_exits()會(huì )返回true,但是is_callable()會(huì )檢查存在其是否可以訪(fǎng)問(wèn),如果是private,protected類(lèi)型的,它會(huì )返回false 。
【php函數method-exists()與is-callable()有何】相關(guān)文章:
PHP的壓縮函數03-31
淺析php函數的實(shí)例04-01
簡(jiǎn)單介紹php構造函數用法03-15
PHP中的排序函數區別分析03-31
探討PHP函數的實(shí)現原理及性能04-01
PHP中函數的使用說(shuō)明03-30
php外部執行命令函數03-31
php對圖像的各種處理函數代碼總結04-01
php字符串處理函數大全03-20