bug65672.phpt 982 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. --TEST--
  2. Test for bug #65672: Broken classes inherited from DatePeriod
  3. --INI--
  4. date.timezone=UTC
  5. --FILE--
  6. <?php
  7. $interval = new DateInterval('P1D');
  8. $period = new class(new DateTime, $interval, new DateTime) extends DatePeriod {
  9. public $extra = "stuff";
  10. };
  11. var_dump($period->extra);
  12. $period->extra = "modified";
  13. var_dump($period->extra);
  14. # Ensure we can modify properties (retrieve for write)
  15. $period->extra = [];
  16. $period->extra[] = "array";
  17. var_dump($period->extra);
  18. var_dump(isset($period->dynamic1));
  19. $period->dynamic1 = "dynamic";
  20. var_dump($period->dynamic1);
  21. # Ensure we can modify properties (retrieve for write)
  22. $period->dynamic2 = [];
  23. $period->dynamic2[] = "array";
  24. var_dump($period->dynamic2);
  25. $period->dynamic3[] = "array";
  26. var_dump($period->dynamic3);
  27. ?>
  28. --EXPECT--
  29. string(5) "stuff"
  30. string(8) "modified"
  31. array(1) {
  32. [0]=>
  33. string(5) "array"
  34. }
  35. bool(false)
  36. string(7) "dynamic"
  37. array(1) {
  38. [0]=>
  39. string(5) "array"
  40. }
  41. array(1) {
  42. [0]=>
  43. string(5) "array"
  44. }