__invoke,try{}catch(){},microtime(),is_callable()
生活随笔
收集整理的這篇文章主要介紹了
__invoke,try{}catch(){},microtime(),is_callable()
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
<?php
/*1.對象本身不能直接當函數用,如果被當做函數用,會直接回調__invoke方法* 2.驗證變量的內容能否作為函數調用* 3.try{}catch(Exception $e){}catch(){}finally{}* 4.microtime()函數返回當前時間戳和微妙數* */
class httpException extends Exception{}
class Testcallable{public function test(){echo '我在測試';echo '</br>';}public function __call($name,$arg){if($name =='othertest'){call_user_func_array([$this,'test'],$arg);}}public function __invoke() //對象本身不能直接當函數用,如果被當做函數用,會直接回調__invoke方法{echo '兄弟我是對象';echo '</br>';throw new Exception('掉錯了');}
}
$test = new Testcallable;
echo $test->test();
echo $test->othertest();//對象調用不存在的方法時,__call魔術方法會被調用
echo '-----------<br>';
echo is_callable([$test,'test']);//驗證變量的內容能否作為函數調用
echo is_callable([$test,'othertest'],false,$call);
try{echo 44;/*$test();*/
}catch(httpException $e){echo 'htpp'.$e->getMessage();
}catch(Exception $e){echo $e->getMessage();
}finally{//程序又沒有錯誤都會執行echo '失敗了';echo '-----------<br>';
}
echo $shijian = microtime();
轉載于:https://www.cnblogs.com/zxqblogrecord/p/10364480.html
總結
以上是生活随笔為你收集整理的__invoke,try{}catch(){},microtime(),is_callable()的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 循环链表实现两个多项式相加主要代码
- 下一篇: C# winform窗体 ComboBo