Ciao a tutti
mi sto avvicinando all'OOP con php, ma ho unproblema con una classe estesa.
In pratica ho scritto una classe con determinati metodi, ed una successiva classe che estende la prima dove ho ridefinito un solo metodo.
Il problema è che l'oggetto di classe estesa, quando creato, sembra vada ad utilizzare il metodo della classe madre.
Qualcuno mi può aiutare?
il codice:
Codice PHP:
<?
class Errori{
// attributi
public $testo_errore;
// costruttore
public function __construct(){
$this->testo_errore = "";
}
private function genera($codice){
switch((int)$codice){
# UTENTI e AUTENTICAZIONI -> 01-100
case 21:
$this->testo_errore = "Autorizzazioni di accesso mancanti";
break;
... ...
}
}
private function generaTitolo($codice){
switch((int)$codice){
case 1:
$this->testo_errore = "Accesso non consentito";
break;
ecc ecc ....
}
... ...
return($this->testo_errore);
}
public function scriviDiv($parametri, $login){
... ...
# stampa del titolo
print("\">" . $this->generaTitolo((int)$arr_parametri[0], "") . "</span>\n");
print("<ul>\n");
... ...
$arr_tmp_msg = explode("$$", tmp_id_messaggio);
print("[*]" . $this->genera((int)$arr_tmp_msg[1], $arr_tmp_msg[0]) . "\n");
"\n");
... ...
}
}
class ErroriBO extends Errori{
private function genera($codice){
switch((int)$codice){
# UTENTI e AUTENTICAZIONI -> 01-100
case 21:
$this->testo_errore = "Autorizzazioni di accesso mancanti";
break;
... ...
}
return($this->testo_errore);
}
}
?>
In pratica, io creo un nuovo oggetto i tipo ErroriBO e gli aplico il metodo scrivi ... ma a quanto pare lo script resta nella classe Errori ... applicando il metodo scrivi di Errori ...
Codice PHP:
if ($mostra_div_messaggio){
$div_messaggio = new erroriBO();
$div_messaggio->scriviDiv($parametri_div_messaggio, true);
}
come posso risolvere?