ReflectionClass_isIterateable_basic.phpt 956 B

12345678910111213141516171819202122232425262728293031323334
  1. --TEST--
  2. ReflectionClass::isIterateable() basic
  3. --CREDITS--
  4. Felix De Vliegher <felix.devliegher@gmail.com>, Marc Veldman <marc@ibuildings.nl>
  5. --FILE--
  6. <?php
  7. class IteratorClass implements Iterator {
  8. public function __construct() { }
  9. public function key(): mixed {}
  10. public function current(): mixed {}
  11. function next(): void {}
  12. function valid(): bool {}
  13. function rewind(): void {}
  14. }
  15. class DerivedClass extends IteratorClass {}
  16. class NonIterator {}
  17. function dump_iterateable($class) {
  18. $reflection = new ReflectionClass($class);
  19. var_dump($reflection->isIterateable());
  20. }
  21. $classes = array("ArrayObject", "IteratorClass", "DerivedClass", "NonIterator");
  22. foreach ($classes as $class) {
  23. echo "Is $class iterateable? ";
  24. dump_iterateable($class);
  25. }
  26. ?>
  27. --EXPECT--
  28. Is ArrayObject iterateable? bool(true)
  29. Is IteratorClass iterateable? bool(true)
  30. Is DerivedClass iterateable? bool(true)
  31. Is NonIterator iterateable? bool(false)