index.php
Codice PHP:
$ELENCO = array('path'=> 'blabla');
$MODULI = new Moduli ();# creo un oggetto della classe padre
$MODULI->Init($ELENCO); # QUI LO STAMPA !
function _Costruisci ( $_MOD_CONF ) {
require_once("{$_MOD_CONF['path']}/{$_MOD_CONF['plugin']}/{$_MOD_CONF['modulo']}.php");
$_MODULO = new $_MOD_CONF['modulo'] ($_MOD_CONF) ; # creo un oggetto della classe figlia
$tmp = $_MODULO->Carica () ;
$lista = $_MODULO->EstraiLista () ;
while (list($key, $value) = each($lista[0])) {
$_MOD_CONF['plugin'] = $lista[1][$key] ;
$_MOD_CONF['modulo'] = $lista[2][$key] ;
$return = _Costruisci($_MOD_CONF);
$tmp = str_replace($value, $return, $tmp);
}
return $tmp;
}
$pagina = _Costruisci($_MOD_CONF);
il metodo Init della classe padre
Codice PHP:
function Init ($ELENCO) {
$this->_ELENCO = $ELENCO; #QUI valorizzo la proprietà incriminata
print_r ($this->_ELENCO);
}
il metodo (incriminato) della classe padre
Codice PHP:
function TplEval($TPL_CONF) {
...
if ($this->_ELENCO["path"] == "blabla"){
...// qui l'array lo vede come non-inizializzato
}
...
}
il metodo (incriminato) nella classe figlia
Codice PHP:
function Carica () {
...
// $ RICHIAMO IL METODO DELLA CLASSE PADRE
eval("\$tmp_tpl = \"".$tmp_tpl=$this->TplEval($this->_TPL_CONF)."\";");
return $this->TplCarica($this->_TPL_CONF,$tmp_tpl);
}
ho provato anche a passare tutto per riferimento
ma nulla
e come se perdesse il valore ce ho asseggnato all'array con il metodo Init