PHP IS_CALLABLE函數使用方法

來源:互聯網
上載者:User


PHP的is_callable用於檢測一個函數或者一個類的方法是否可執行,用官方文檔的話說就是檢測參數是否為合法的可調用結構,程式碼範例如下。

class A{    public function __construct(){        echo 'Class:'.get_called_class();    }     public function cc(){        $a = 3;        return $a;    }} $a = new A; $test = is_callable(array('A','cc'));var_dump($test);exit;列印結果:Class:Aboolean true

官方樣本:

function someFunction() {} $functionVariable = 'someFunction'; var_dump(is_callable($functionVariable, false, $callable_name));  // bool(true) echo $callable_name, "\n";  // someFunction ////  Array containing a method// class someClass {   function someMethod()   {  } } $anObject = new someClass(); $methodVariable = array($anObject, 'someMethod'); var_dump(is_callable($methodVariable, true, $callable_name));  //  bool(true) echo $callable_name, "\n";  //  someClass::someMethod

官方樣本分別是一個檢測函數,和一個檢測類的方法,以及更具體的用法。

例子

示範代碼如下:

<?phpclass test { static function a() {  return "test"; }}class abc { public function a($Object,$funcName){   if (!is_callable(array($Object,$funcName))){//此處array($object,$funcname)的用法,相當於$object::$funcname調用$object的$funcname方法   echo("Error");  }else {   echo("OK");  } }} $abc=new abc();$abc->a("test","aa");//test類下沒有aa方法,會輸出error$abc->a("test","a");//test類下有a方法,會輸出ok?>

 

OK ,這個函數的用法

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.