ReflectionClass_isInstantiable_variation.phpt 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. --TEST--
  2. ReflectionClass::IsInstantiable()
  3. --FILE--
  4. <?php
  5. class noCtor {
  6. }
  7. class publicCtorNew {
  8. public function __construct() {}
  9. }
  10. class protectedCtorNew {
  11. protected function __construct() {}
  12. }
  13. class privateCtorNew {
  14. private function __construct() {}
  15. }
  16. class publicCtorOld {
  17. public function publicCtorOld() {}
  18. }
  19. class protectedCtorOld {
  20. protected function protectedCtorOld() {}
  21. }
  22. class privateCtorOld {
  23. private function privateCtorOld() {}
  24. }
  25. $classes = array("noCtor", "publicCtorNew", "protectedCtorNew", "privateCtorNew",
  26. "publicCtorOld", "protectedCtorOld", "privateCtorOld");
  27. foreach($classes as $class ) {
  28. $reflectionClass = new ReflectionClass($class);
  29. echo "Is $class instantiable? ";
  30. var_dump($reflectionClass->IsInstantiable());
  31. }
  32. ?>
  33. --EXPECTF--
  34. Is noCtor instantiable? bool(true)
  35. Is publicCtorNew instantiable? bool(true)
  36. Is protectedCtorNew instantiable? bool(false)
  37. Is privateCtorNew instantiable? bool(false)
  38. Is publicCtorOld instantiable? bool(true)
  39. Is protectedCtorOld instantiable? bool(false)
  40. Is privateCtorOld instantiable? bool(false)