DateTime_clone_basic3.phpt 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. --TEST--
  2. Test clone of DateTime objects
  3. --FILE--
  4. <?php
  5. //Set the default time zone
  6. date_default_timezone_set("Europe/London");
  7. echo "*** Testing clone on DateTime objects ***\n";
  8. echo "\n-- Create a DateTime object --\n";
  9. $d1 = new DateTime("2009-02-03 12:34:41 GMT");
  10. var_dump($d1);
  11. echo "\n-- Add some properties --\n";
  12. $d1->property1 = 99;
  13. $d1->property2 = "Hello";
  14. var_dump($d1);
  15. echo "\n-- clone it --\n";
  16. $d1_clone = clone $d1;
  17. var_dump($d1_clone);
  18. echo "\n-- Add some more properties --\n";
  19. $d1_clone->property3 = true;
  20. $d1_clone->property4 = 10.5;
  21. var_dump($d1_clone);
  22. echo "\n-- clone it --\n";
  23. $d2_clone = clone $d1_clone;
  24. var_dump($d2_clone);
  25. ?>
  26. --EXPECTF--
  27. *** Testing clone on DateTime objects ***
  28. -- Create a DateTime object --
  29. object(DateTime)#%d (3) {
  30. ["date"]=>
  31. string(26) "2009-02-03 12:34:41.000000"
  32. ["timezone_type"]=>
  33. int(2)
  34. ["timezone"]=>
  35. string(3) "GMT"
  36. }
  37. -- Add some properties --
  38. object(DateTime)#%d (5) {
  39. ["property1"]=>
  40. int(99)
  41. ["property2"]=>
  42. string(5) "Hello"
  43. ["date"]=>
  44. string(26) "2009-02-03 12:34:41.000000"
  45. ["timezone_type"]=>
  46. int(2)
  47. ["timezone"]=>
  48. string(3) "GMT"
  49. }
  50. -- clone it --
  51. object(DateTime)#%d (5) {
  52. ["property1"]=>
  53. int(99)
  54. ["property2"]=>
  55. string(5) "Hello"
  56. ["date"]=>
  57. string(26) "2009-02-03 12:34:41.000000"
  58. ["timezone_type"]=>
  59. int(2)
  60. ["timezone"]=>
  61. string(3) "GMT"
  62. }
  63. -- Add some more properties --
  64. object(DateTime)#%d (7) {
  65. ["property1"]=>
  66. int(99)
  67. ["property2"]=>
  68. string(5) "Hello"
  69. ["property3"]=>
  70. bool(true)
  71. ["property4"]=>
  72. float(10.5)
  73. ["date"]=>
  74. string(26) "2009-02-03 12:34:41.000000"
  75. ["timezone_type"]=>
  76. int(2)
  77. ["timezone"]=>
  78. string(3) "GMT"
  79. }
  80. -- clone it --
  81. object(DateTime)#%d (7) {
  82. ["property1"]=>
  83. int(99)
  84. ["property2"]=>
  85. string(5) "Hello"
  86. ["property3"]=>
  87. bool(true)
  88. ["property4"]=>
  89. float(10.5)
  90. ["date"]=>
  91. string(26) "2009-02-03 12:34:41.000000"
  92. ["timezone_type"]=>
  93. int(2)
  94. ["timezone"]=>
  95. string(3) "GMT"
  96. }