ID:               46594
 Updated by:       [EMAIL PROTECTED]
 Reported By:      dckorah at gmail dot com
 Status:           Open
 Bug Type:         Class/Object related
 Operating System: Linux (Ububtu 7.10)
 PHP Version:      5.2.6
 New Comment:

Actually this has nothing to do with __construct(), same happens with 
"regular" methods too.


Previous Comments:
------------------------------------------------------------------------

[2008-11-17 14:04:31] dckorah at gmail dot com

Description:
------------
<?php
class A {
    function __construct() {
        $this->a_property = 'property set from A';
    }
}

class B {
    function __construct() {
        A::__construct();
        $this->b_property = 'property set from B';
    }
}
?>
In the above code, if you initialise class B and inspect the properties
of it, you will see that both a_property and b_property are set.

This is quite unexpected from an OO language.


version info:
PHP 5.2.3-1ubuntu6.4 (cli) (built: Jul 23 2008 06:20:35)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies


Reproduce code:
---------------
<?php

class A {
    function __construct() {
        $this->a_property = 'property set from A';
    }
}

class B {
    function __construct() {
        A::__construct();
        $this->b_property = 'property set from B';
    }
}

?>


Expected result:
----------------
Class A has got nothing to do with class B and this should not happen.
If at all an user trys this, it should throw an error.

Actual result:
--------------
Please see description.


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=46594&edit=1

Reply via email to