做php開發中,如果遇到自己不能修改伺服器的相關配置也不能知道伺服器某些功能是否開啟的情況下,直接使用某些特殊的函數會導致程式報錯,例如curl_init這種系統函數。當伺服器未開啟curl相關服務的時候,直接使用curl系列函數會報Call to undefined function curl_init()......這樣的錯誤。
那麼對於出現這種情況該如何辦呢?很多事情不只是有一種辦法的,如果某些方法不行,我們還可以使用另外的方法。這裡我們就需要涉及到判斷某個方法是否存在的問題了,如果存在該方法則使用該方法,如果不存在該方法則使用另外的方法。
這裡對於如何判斷一個函數,類別以及類別中的方法是否存在做了一個整理:
(1)php判斷系統函數或自己寫的函數是否存在
#bool function_exists ( string $function_name ) 判斷函數是否已定義,例如:
if(function_exists('curl_init')){ curl_init(); }else{ echo 'not function curl_init'; }
(2)php判斷類別是否存在
#bool class_exists ( string $class_name [, bool $autoload = true ] ) 檢查一個類別是否已經定義,一定以傳回true,否則傳回false,例如:
if(class_exists('MySQL')){ $myclass=new MySQL(); }
(3)php判斷類別裡面的某個方法是否已經定義
bool method_exists ( mixed $object , string $method_name ) 檢查類別的方法是否存在,例如:
$directory=new Directory; if(!method_exists($directory,'read')){ echo '未定义read方法!'; }
以上是php怎麼判斷函數,類,類別方法是不是存在的詳細內容。更多資訊請關注PHP中文網其他相關文章!