Ahmet: Klassen: Auf Werte von "Elternmethode" zugreifen

Hallo,

ich habe eine methode, in der ich eine methode aufrufe, die zugriff auf die übergebenen werte auf die elternmethode - also die Methode, die die methode aufruft, hat. Gibt es eine solche möglichkeit?

public function Elternmethode()  
    {  
        $SpezifischerVariableninhaltNurFuerDieseFunktion = 'X mit nix';  
        return $this->Kindermethode(__FUNCTION__);  
    }

Diese methode kann mehrere argumente haben. Sie kann aber auch leer sein. Diese argumente werden dann mit dem spezifischen inhalt der variable verarbeitet. (im prinzip gibt es mehrere elternmethoden, die nur einen anderen inhalt der variable haben);

    private function Kindermethode($Method)  
    {  
        echo $Method;  
}

Mir fehlt im prinzip eine referenz auf die werte der elternmethode. Ich habe daher den namen der elternmethode übergeben, allerdings weiß ich dann nicht mehr weiter weil mir die grundlagen? fehlen das zu realisieren. Ich müsste von "Kindermethode" auf $SpezifischerVariableninhaltNurFuerDieseFunktion zugreifen können, außerdem auf seine func_num_args() der Elternmethode. Gibt es hier möglichkeiten dafür? bin schon den ganzen abend am suchen, kann allerdings nichts finden.

Ahmet

  1. Tach!

    ich habe eine methode, in der ich eine methode aufrufe, die zugriff auf die übergebenen werte auf die elternmethode - also die Methode, die die methode aufruft, hat.

    Sieht stark nach einem Konzeptfehler aus. Wenn ich das richtig verstehe, möchtest du auf Variablen zugreifen, die nur im Scope der aufrufenden Funktion/Methode existieren. Das geht so nicht, weil es allen guten Prinzipien der Kapselung widerspricht. Vielleicht kann man da was über Reflection machen, aber das kann nicht die Lösung des eigentlichen Problems sein.

    Diese methode kann mehrere argumente haben. Sie kann aber auch leer sein.

    Generell, ohne konkret zu wissen, was du vorhast, fallen mir da schon zwei Vorgehensweisen ein. Die eine ist optionale Parameter zu verwenden. Die andere ist, ein Array mit den Werten, von denen ja manche vorhanden sein können und manche nicht.

    dedlfix.

    1. Hallo,

      Sieht stark nach einem Konzeptfehler aus. Wenn ich das richtig verstehe, möchtest du auf Variablen zugreifen, die nur im Scope der aufrufenden Funktion/Methode existieren. Das geht so nicht, weil es allen guten Prinzipien der Kapselung widerspricht. Vielleicht kann man da was über Reflection machen, aber das kann nicht die Lösung des eigentlichen Problems sein.

      Vielen dank für die antwort. Schade, dass es nicht klappt. Dann werde ich es weiterhin auf die andere art und weise lösen.

      Ahmet