<?php
class A {
var $__row = null;
function A($row) {
$this->__row = $row;
}
}
class B extends A {
var $__module_id;
function B($row, $module_id) {
parent::A($row);
$this->__module_id = $module_id;
}
}
class C extends B {
function C($row) {
parent::B($row, 'common');
}
}
class D extends C {
function D($row) {
parent::B($row, 'something'); // ATTENTION - Here is "::B" not "::C"
}
}
$d = new D('dummy');
var_dump($d);
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; A has a deprecated constructor in /in/dfkg3 on line 3
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; B has a deprecated constructor in /in/dfkg3 on line 10
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; C has a deprecated constructor in /in/dfkg3 on line 19
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; D has a deprecated constructor in /in/dfkg3 on line 25
object(D)#1 (2) {
["__module_id"]=>
string(9) "something"
["__row"]=>
string(5) "dummy"
}