<?php

class A 
{
	function __construct($dataA = false) {
		echo "constructor A enter data = $dataA\n";
		$dataA .= "A";
		echo "constructor A exit data = $dataA\n";
	
		return $dataA;
	}
		
}

class B extends A 
{
	function __construct($data = false) {
		echo "constructor B enter data = $data\n";
		$dataB = parent::__construct($data);
		$dataB .= "B";
		echo "constructor B exit data = $dataB\n";
		return $dataB;
	}
	
}

class C extends B {
	function __construct($data = false){
	echo "constructor C enter data = $data\n";
	$dataC = parent::__construct($data);
	$dataC .= "C";
	echo "constructor C exit data = $dataC\n";
	$this->temp = $dataC;
	}
}

$c = new C("D");
var_dump($c);