[Klassen]

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Klassen]

    Ich hab eine Klasse, die kann ganz viele andere Klassen aufrufen. In einigen von diesen aufgerufenen Klassen wird eine Variable gesetzt, deren Wert ich an die erste Klasse übergeben möchte.

    Ein Freund meinte es geht gar nicht, dass man Variablen nach "oben" weitergibt - gibts in dem Fall vielleicht ne andere Lösung?

    Danke!

  • #2
    ungetestet.

    PHP-Code:
    class class1
    {
        var 
    $cl2 NULL;
        
        function 
    class1()
        {
            
    $this->init_class2();
        }

        function 
    init_class2()
        {
            
    $this->cl1 = &new class2();
        }
        
        function 
    get_cl2foo()
        {
            return 
    $this->cl1->get_foo();
        }
    }

    class 
    class2
    {
        var 
    $foo 2;
        
        function 
    class2()
        {
        }

        function 
    get_foo()
        {
            return 
    $this->foo;
        }
    }


    $cl1 = &new class1();
    echo 
    $cl1->get_cl2foo(); 
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Kurze Verständnisfrage: mit nach oben weitergeben meinst Du nicht reinzufällig Vererbung?

      Dies geht aber trotzdem, mittels Reflection.

      Ansonsten würde ich es so wie Abraxax schrieb machen...

      Grüssle

      Kommentar


      • #4
        Re: [Klassen]

        Original geschrieben von der_Behr
        Ich hab eine Klasse, die kann ganz viele andere Klassen aufrufen. In einigen von diesen aufgerufenen Klassen wird eine Variable gesetzt, deren Wert ich an die erste Klasse übergeben möchte.
        PHP-Code:
        masterklasse::setVariable('variablenname', &$variable); 
        Die "Masterklasse" mußt Du um die Methode setVariable($name, $wert) erweitern, die Variablenname und Wert entgegennimmt.

        PHP-Code:
        function &setVariable ($name$value)
        {
         
        $this->{$name} = &$value;

        Beachte hierbei, daß die Referenz auf die Variable übergeben wird. Dann kann sich in der anderen Klasse auch mal der Variableninhalt ändern.

        Kommentar

        Lädt...
        X