眾所皆知的在類別外呼叫的方法假如是private或者是protected會出現如下錯誤訊息

Fatal error: Call to private method home::xxx() from context

 那要怎麼樣避免錯誤訊息出現呢??可以使用is_callable()函數來判斷方法是否可使用。


 <?php
     class test{
         //公開方法 a
         public function a(){
             echo 'hello';
         }
         //私有方法 b
         private function b(){
             echo 'bye';
         }
     }
     //物件化
     $obj=new test();
     //判斷test類別的a方法是否可使用 
     if (is_callable(array('test','a'))){ 
          $obj->a();
     }
     //判斷test類別的b方法是否可使用 
     if (is_callable(array('test','b'))){ 
          $obj->b();
     }
     
     //此範例會只執行test類別的方法a
     
 ?>

函數說明:

is_callable(array('類別名稱','方法名稱'));




文章轉載或引用,請先告知並保留原文出處與連結!!(單純分享或非營利的只需保留原文出處,不用告知)

原文連結:
https://blog.aidec.tw/post/php-check-object-method-is-callable