parent::aiuto()

Ciao a tutti  :)

avrei un problemino riguardante l'OOP

Mi ritrovo nella seguente situazione:

Ho una classe che cerca tags in un file, se li trova cerca il metodo corrispondente di un altra classe e ne ricava l'output.

Il problema sta nella gerarchia di queste classi, ovvero:

    Classe Madre

     /             \

    /               \

   /                 \

Classe            Classe da caricare

Cercatrice

Sia la classe che cerca i tags che quella di cui prendo l'output sono classi figlie di un altra classe.

Se mi ritrovo ad avere i tags trovati (con il nome della classe da caricare) in un array, una cosa del tipo

//all'interno della classe che cerca i tags nel file per poi cercare le altre classi
$this->out = parent::$results[1]->output();

è una sacrilega eresia?

se non mi sono spiegato (è possibile... ho dormito poco..xD ) scusatemi e cercherò di essere più chiaro

inviato 8 anni fa
fatmatt
X 0 X

 :'(

risposto 8 anni fa
fatmatt
X 0 X

Io non ho capito  :giveup:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

avevo TOTALMENTE frainteso l'utilizzo del nome speciale parent.... quindi dovrò cercare un altra via :D

cerco di rispiegarmi

Ho una classe che chimiamo ALPHA che contiene delle classi A B C e D.

class ALPHA

{

var $A;

var $B;

var $C;

var $D;

}

la classe B vuole richiamare un metodo di una delle classi A, C o D.

La classe da cui richiamare il metodo non è nota, ma decisa a runtime e dil nome della classe è contenuta nella variabile $c_name che quindi può assumere valori A, C o D.

il mio problema è risalire dall'oggetto B (membro di alpha)  a metodi degli altri oggetti di ALPHA, quindi poter fare una cosa del tipo

$ALPHA->B->fai_qualcosa()

in cui fai_qualcosa() utilizza i metodi delle classi A C e D.

risposto 8 anni fa
fatmatt
X 0 X

Forse prima bisognerebbe capire se l'attuale organizzazione delle classi (l'architettura) è corretta. Perché non ci spieghi cosa fanno queste classi?

risposto 8 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda