一直在尋找PHP文檔,這似乎不可能,但想檢查。PHP is_callable與類型定義
說我有這樣的功能:
class Utils {
static function doSomething(Array $input){
...
}
}
是可以使用內置的PHP函數像is_callable
檢查,如果這兩個函數存在,如果我有自己的變量將由類型定義被接受在函數中。
所以:
$varA = array('a', 'b', 'c');
$varB = 'some string';
$functionToCall = array('Utils', 'doSomething');
is_callable($functionToCall, $varA) => true;
is_callable($functionToCall, $varB) => false;
當然is_callable
不能這樣使用。但是可以在不使用Try Catch的情況下完成嗎?
如果不是這會是它周圍的最佳方式?
try {
Utils::doSomething(10)
} catch (TypeError $e) {
// react here
}
謝謝!
在php 7中,您可以啓用strict_types:declare(strict_types = 1); ...併爲每個方法參數函數(string $ stringVal)添加類型; –