<?php
function baz(ReflectionFunction $a, $b = 1, $c = null) { }
$reflect = new ReflectionFunction("baz");
echo $reflect;
...
?>
问题:这是什么意思:ReflectionFunction $a?这是否等于:$a = new ReflectionFunction()?
<?php
function baz(ReflectionFunction $a, $b = 1, $c = null) { }
$reflect = new ReflectionFunction("baz");
echo $reflect;
...
?>
问题:这是什么意思:ReflectionFunction $a?这是否等于:$a = new ReflectionFunction()?
function baz(ReflectionFunction $a, ...
是一个所谓的type hint。这允许 PHP 解释器在运行时检查参数类型
如果您传递一个类型不是ReflectionFunctionPHP 的值,则会引发致命错误。这对于稳定您的代码并帮助解决由于 PHP 的松散类型系统而导致和监督的许多编程错误非常有帮助
例如,如果您传递一个字符串,您可以看到它的影响:
baz('my_function');
会给你什么:
可捕获的致命错误:传递给 baz() 的参数 1 必须是 ReflectionFunction 的实例,给定字符串,在第 5 行的 /tmp/peerindex-api-consumer/a.php 中调用并在 /tmp/peerindex-api-consumer/ 中定义a.php 在第 3 行