File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / Zend / tests / bug37212.phpt
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 23:47:52 2012 UTC (13 years, 1 month ago) by misho
Branches: php, MAIN
CVS tags: v5_4_3elwix, v5_4_29p0, v5_4_29, v5_4_20p0, v5_4_20, v5_4_17p0, v5_4_17, v5_3_10, HEAD
php

    1: --TEST--
    2: Bug #37212 (Access to protected property of common base class)
    3: --FILE--
    4: <?php
    5: 
    6: class A
    7: {
    8:     protected $value;
    9: 
   10:     public function __construct($val)
   11:     {
   12:         $this->value = $val;
   13:     }
   14: 
   15:     protected function getValue()
   16:     {
   17:         return $this->value;
   18:     }
   19: }
   20: 
   21: class B extends A
   22: {
   23:     public function copyValue($obj)
   24:     {
   25:         $this->value = $obj->getValue();
   26:         $this->value = $obj->value; // value defined in common base class
   27:     }
   28: }
   29: class C extends A {}
   30: 
   31: $B = new B("B");
   32: var_dump($B);
   33: $C = new C("C");
   34: var_dump($C);
   35: 
   36: $B->copyValue($C);
   37: 
   38: var_dump($B);
   39: 
   40: ?>
   41: ===DONE===
   42: --EXPECTF--
   43: object(B)#%d (1) {
   44:   ["value":protected]=>
   45:   string(1) "B"
   46: }
   47: object(C)#%d (1) {
   48:   ["value":protected]=>
   49:   string(1) "C"
   50: }
   51: object(B)#%d (1) {
   52:   ["value":protected]=>
   53:   string(1) "C"
   54: }
   55: ===DONE===

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>