2004-08-04 22:47:56 +00:00
|
|
|
--TEST--
|
2006-03-12 12:38:25 +00:00
|
|
|
Reflection Bug #29523 (ReflectionParameter::isOptional() is incorrect)
|
|
|
|
--SKIPIF--
|
|
|
|
<?php extension_loaded('reflection') or die('skip'); ?>
|
2004-08-04 22:47:56 +00:00
|
|
|
--FILE--
|
|
|
|
<?php
|
|
|
|
|
|
|
|
class TestClass
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
function optionalTest(TestClass $a, TestClass $b, $c = 3)
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
$function = new ReflectionFunction('optionalTest');
|
|
|
|
$numberOfNotOptionalParameters = 0;
|
|
|
|
$numberOfOptionalParameters = 0;
|
|
|
|
foreach($function->getParameters() as $parameter)
|
|
|
|
{
|
|
|
|
var_dump($parameter->isOptional());
|
|
|
|
if ($parameter->isOptional())
|
|
|
|
{
|
|
|
|
++$numberOfOptionalParameters;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
++$numberOfNotOptionalParameters;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
var_dump($function->getNumberOfRequiredParameters());
|
|
|
|
var_dump($numberOfNotOptionalParameters);
|
|
|
|
|
|
|
|
?>
|
|
|
|
--EXPECT--
|
|
|
|
bool(false)
|
|
|
|
bool(false)
|
|
|
|
bool(true)
|
|
|
|
int(2)
|
|
|
|
int(2)
|