private_members.phpt 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. --TEST--
  2. ZE2 A private member is
  3. --FILE--
  4. <?php
  5. class base
  6. {
  7. private $member;
  8. function __construct()
  9. {
  10. echo __METHOD__ . "(begin)\n";
  11. $this->member = 'base::member';
  12. $this->test();
  13. echo __METHOD__ . "(end)\n";
  14. }
  15. function test()
  16. {
  17. echo __METHOD__ . "\n";
  18. print_r($this);
  19. }
  20. }
  21. class derived extends base
  22. {
  23. public $member = 'derived::member (default)';
  24. function __construct()
  25. {
  26. echo __METHOD__ . "(begin)\n";
  27. parent::__construct();
  28. parent::test();
  29. $this->test();
  30. $this->member = 'derived::member';
  31. echo __METHOD__ . "(end)\n";
  32. }
  33. function test()
  34. {
  35. parent::test();
  36. echo __METHOD__ . "\n";
  37. print_r($this);
  38. }
  39. }
  40. $t = new derived;
  41. $t->test();
  42. unset($t);
  43. echo "Done\n";
  44. ?>
  45. --EXPECT--
  46. derived::__construct(begin)
  47. base::__construct(begin)
  48. base::test
  49. derived Object
  50. (
  51. [member:base:private] => base::member
  52. [member] => derived::member (default)
  53. )
  54. derived::test
  55. derived Object
  56. (
  57. [member:base:private] => base::member
  58. [member] => derived::member (default)
  59. )
  60. base::__construct(end)
  61. base::test
  62. derived Object
  63. (
  64. [member:base:private] => base::member
  65. [member] => derived::member (default)
  66. )
  67. base::test
  68. derived Object
  69. (
  70. [member:base:private] => base::member
  71. [member] => derived::member (default)
  72. )
  73. derived::test
  74. derived Object
  75. (
  76. [member:base:private] => base::member
  77. [member] => derived::member (default)
  78. )
  79. derived::__construct(end)
  80. base::test
  81. derived Object
  82. (
  83. [member:base:private] => base::member
  84. [member] => derived::member
  85. )
  86. derived::test
  87. derived Object
  88. (
  89. [member:base:private] => base::member
  90. [member] => derived::member
  91. )
  92. Done