Originariamente inviato da skidx
oltre a quanto già detto da andrea,
in php non viene chiamato il metodo del padre in automatico, devi farlo esplicitamente usando
giusto per la precisazione, solo in override o se serve quel metodo e non sempre 
Codice PHP:
<?php
class A {
protected $test = '';
public final function __construct() {
$this->test = 'Hello World!';
}
public final function getTest() {
return $this->test;
}
public function __destruct() {
echo '<hr />';
}
}
$test = new A();
echo '[b]A[/b]
'.$test->getTest();
class B extends A {}
$test = new B();
echo '[b]B[/b]
'.$test->getTest();
class C extends A {
// questi due metodi sono accettati allo stesso modo
public final function getTest2() {
return '2 => '.$this->getTest(); // uguale a parent::getTest
}
public function getTest3() {
return '3 => '.parent::getTest(); // uguale a $this->getTest
}
}
$test = new C();
echo '[b]C[/b]
'.$test->getTest().'
'.$test->getTest2().'
'.$test->getTest3();
class D extends C {
//public final function __construct() {
// parent::__construct();
// errore, un metodo final non può avere override
//}
// getTest3 di C invece non è final
public final function getTest3() {
// override del metodo non final possibile
return 'Over '.parent::getTest3();
// in questo caso scrivere $this->getTest3 non avrebbe avuto senso
// (quindi è il caso di cui parlava skidx)
}
// override del distruttore con chiamata a quello genitore
public function __destruct() {
parent::__destruct();
echo '_____________________________________________ END ';
}
}
$test = new D();
echo '[b]D[/b]
'.$test->getTest3();
?>

[edit]
Originariamente inviato da nik600
credevo funzionasse come in java dove viene chiamato automaticamente.
cos'è che fa Java ? ... richiama in automatico un metodo del genitore anche se si sta scrivendo un override dello stesso, a prescindere che sia costruttore o meno ??? .... io penso che Java si comporti allo stesso modo del php 5 .... magari sbaglio ...