一直在寻找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)添加类型; –