class Test
{
public $pr = "Class property from class Test";
public function __construct()
{
echo 'Constructor activated from class Test <br />';
}
public function __destruct()
{
echo '<br /> Destructor activated from class Test <br />';
}
public function setProperty($val)
{
$this->pr = $val;
}
public function getProperty()
{
return $this->pr;
}
public function f()
{
echo "Method f() from class " . __CLASS__ . "<br />";
}
}
class MyNewClass extends Test
{
// Declaring __construct() method again in MyNewClass to overwrite
public function __construct()
{
parent::__construct(); // Call the parent class Test constructor
echo 'Constructor activated from class MyNewClass <br />';
}
// Overwriting Inherited method f()
public function f()
{
parent::f(); // Call the parent class Test f() method
echo "Method f() from class " . __CLASS__ . "<br />";
}
}
$obj1 = new MyNewClass;
$obj1->f();
/*
run:
Constructor activated from class Test
Constructor activated from class MyNewClass
Method f() from class Test
Method f() from class MyNewClass
Destructor activated from class Test
*/