ReflectionClass_isInstantiable_basic.phpt 748 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. --TEST--
  2. ReflectionClass::IsInstantiable()
  3. --FILE--
  4. <?php
  5. class C {
  6. }
  7. interface iface {
  8. function f1();
  9. }
  10. class ifaceImpl implements iface {
  11. function f1() {}
  12. }
  13. abstract class abstractClass {
  14. function f1() {}
  15. abstract function f2();
  16. }
  17. class D extends abstractClass {
  18. function f2() {}
  19. }
  20. $classes = array("C", "iface", "ifaceImpl", "abstractClass", "D");
  21. foreach($classes as $class ) {
  22. $reflectionClass = new ReflectionClass($class);
  23. echo "Is $class instantiable? ";
  24. var_dump($reflectionClass->IsInstantiable());
  25. }
  26. ?>
  27. --EXPECT--
  28. Is C instantiable? bool(true)
  29. Is iface instantiable? bool(false)
  30. Is ifaceImpl instantiable? bool(true)
  31. Is abstractClass instantiable? bool(false)
  32. Is D instantiable? bool(true)