closures_002.phpt 534 B

123456789101112131415161718192021222324252627
  1. --TEST--
  2. Reflection on invocable objects
  3. --FILE--
  4. <?php
  5. class Test {
  6. function __invoke($a, $b = 0) { }
  7. }
  8. $rm = new ReflectionMethod(new Test, '__invoke');
  9. var_dump($rm->getName());
  10. var_dump($rm->getNumberOfParameters());
  11. var_dump($rm->getNumberOfRequiredParameters());
  12. $rp = new ReflectionParameter(array(new Test, '__invoke'), 0);
  13. var_dump($rp->isOptional());
  14. $rp = new ReflectionParameter(array(new Test, '__invoke'), 1);
  15. var_dump($rp->isOptional());
  16. ?>
  17. --EXPECT--
  18. string(8) "__invoke"
  19. int(2)
  20. int(1)
  21. bool(false)
  22. bool(true)