abstract class TestConstructor { // php-4 style constructor public function TestConstructor() { echo 'top'; } // require a php5 constructor to overwrite php4 // one in all child classes abstract public function __construct();}class TestConstructorMiddle extends TestConstructor { // required because of abstract __construct public function __construct() { echo 'middle'; }}class TestWithConstructorCall extends TestConstructorMiddle { // test to see what will happen public function __construct($test = '') { parent::__construct(); parent::TestConstructor(); }}new TestWithConstructorCall('');