mirror of
https://github.com/php/php-src.git
synced 2026-03-25 16:52:18 +01:00
There was a loophole here when it came to usage with named arguments, which was not intended. Close the loophole thoroughly by actually dropping the default value from the signature entirely. The default is still used to make the type nullable, but not for anything else.
24 lines
586 B
PHP
24 lines
586 B
PHP
--TEST--
|
|
Bug #62715 (ReflectionParameter::isDefaultValueAvailable() wrong result)
|
|
--FILE--
|
|
<?php
|
|
|
|
function test(PDO $a = null, $b = 0, array $c) {}
|
|
$r = new ReflectionFunction('test');
|
|
|
|
foreach ($r->getParameters() as $p) {
|
|
var_dump($p->isDefaultValueAvailable());
|
|
}
|
|
|
|
foreach ($r->getParameters() as $p) {
|
|
if ($p->isDefaultValueAvailable()) {
|
|
var_dump($p->getDefaultValue());
|
|
}
|
|
}
|
|
?>
|
|
--EXPECTF--
|
|
Deprecated: Optional parameter $b declared before required parameter $c is implicitly treated as a required parameter in %s on line %d
|
|
bool(false)
|
|
bool(false)
|
|
bool(false)
|