[Klassen]

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [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 |


    Comment


    • #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

      Comment


      • #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.

        Comment

        Working...
        X