parameters_001.phpt 727 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. --TEST--
  2. ReflectionParameter Check for parameter being optional
  3. --FILE--
  4. <?php
  5. class Test {
  6. function func($x, $y = NULL){
  7. }
  8. }
  9. $f = new ReflectionMethod('Test', 'func');
  10. var_dump($f->getNumberOfParameters());
  11. var_dump($f->getNumberOfRequiredParameters());
  12. $p = new ReflectionParameter(array('Test', 'func'), 'x');
  13. var_dump($p->isOptional());
  14. $p = new ReflectionParameter(array('Test', 'func'), 'y');
  15. var_dump($p->isOptional());
  16. try {
  17. $p = new ReflectionParameter(array('Test', 'func'), 'z');
  18. var_dump($p->isOptional());
  19. }
  20. catch (Exception $e) {
  21. var_dump($e->getMessage());
  22. }
  23. ?>
  24. ===DONE===
  25. --EXPECT--
  26. int(2)
  27. int(1)
  28. bool(false)
  29. bool(true)
  30. string(54) "The parameter specified by its name could not be found"
  31. ===DONE===