Духовность™
Продвинутый новичок
PHP:
ini_set("display_errors", true);
error_reporting(E_ALL);
function foo(integer $data) {}
$a = 123;
foo($a);
))))Catchable fatal error: Argument 1 passed to foo() must be an instance of integer, integer given
коллега подсказал такое:
PHP:
error_reporting(E_ALL);
ini_set('display_errors', 1);
set_error_handler('handle');
function foo(integer $p1, bool $p2) {}
$param1 = 123;
$param2 = 'строка, а не булев!';
foo($param1, $param2);
function handle($lvl, $msg)
{
static $_types = array(
'boolean,' => 'boolean',
'bool,' => 'boolean',
'integer,' => 'integer',
'int,' => 'integer',
'float,' => 'float',
'double,' => 'float',
'real,' => 'float',
'string,' => 'string',
'resource,' => 'resource'
);
if ($lvl == E_RECOVERABLE_ERROR) {
$errmsg = explode(' ', $msg, 13);
if (isset($_types[$errmsg[10]]) && $_types[$errmsg[10]] == $errmsg[11]) {
return true;
}
return false;
}
}