newVariable.phpt 678 B

123456789101112131415161718192021222324252627282930313233343536
  1. --TEST--
  2. Variable as class name for new expression
  3. --FILE--
  4. <?php
  5. $className = 'stdClass';
  6. $array = ['className' => 'stdClass'];
  7. $obj = (object) ['className' => 'stdClass'];
  8. class Test {
  9. public static $className = 'stdClass';
  10. }
  11. $test = 'Test';
  12. $weird = [0 => (object) ['foo' => 'Test']];
  13. var_dump(new $className);
  14. var_dump(new $array['className']);
  15. var_dump(new $obj->className);
  16. var_dump(new Test::$className);
  17. var_dump(new $test::$className);
  18. var_dump(new $weird[0]->foo::$className);
  19. ?>
  20. --EXPECTF--
  21. object(stdClass)#%d (0) {
  22. }
  23. object(stdClass)#%d (0) {
  24. }
  25. object(stdClass)#%d (0) {
  26. }
  27. object(stdClass)#%d (0) {
  28. }
  29. object(stdClass)#%d (0) {
  30. }
  31. object(stdClass)#%d (0) {
  32. }