<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                #### php判斷函數,類,類方法是否存在 * * * * * 做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獲取當前類名、方法名 * * * * * 1. __CLASS__ 獲取當前類名 2. __FUNCTION__ 當前函數名(confirm) 3. __METHOD__ 當前方法名 (bankcard::confirm) 4. __FUNCTION__ 函數名稱(PHP 4.3.0 新加)。自 PHP 5 起本常量返回該函數被定義時的名字(區分大小寫)。在 PHP 4 中該值總是小寫字母的。 5. __CLASS__ 類的名稱(PHP 4.3.0 新加)。自 PHP 5 起本常量返回該類被定義時的名字(區分大小寫)。在 PHP 4 中該值總是小寫字母的。 6. __METHOD__ 類的方法名(PHP 5.0.0 新加)。返回該方法被定義時的名字(區分大小寫)。 注:這些常量前后均是兩個下劃線。 get_class(class name);//取得當前語句所在類的類名 ~~~ get_class_methods(class name);//取得class name 類的所有的方法名,并且組成一個數組 get_class_vars(class name);//取得class name 類的所有的變亮名,并組成一個數組 ~~~ 可用get_class_methods方法來獲取某個類或對象的所有方法名。 定義一個類class Cls150518{ public function getprop1();} print_r(get_class_methods('Cls150518'));將會打印出Cls150518類的所有方法,此處會打印出"getprop1"。 在動態方法調用的地方加上一個判斷: if(in_array($methodName,get_class_methods('Cls150518')))就可以判斷動態調用的方法在類Cls150518中是否存在。 更保險的做法是用is_callable,該方法可以判斷動態方法是否存在且可被調用,有些方法如Private方法盡管存在但不能被調用。 is_callable的使用形式: $cls150518 = new Cls150518(); is_callable(array($cls150518 , 'getProp1')); 如果可調用返回true,否則返回false。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看