Ankündigung

Einklappen
Keine Ankündigung bisher.

Paramter übergabe

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

  • Paramter übergabe

    Kurze frage...
    Ich habe eine Klasse, diese Klasse hat zwei Funktionen.
    Meine Frage ist kann man die Parameter dynamisch übergeben?

    Beispiel.:
    PHP-Code:
    Class Foo
    {
            function 
    Foo()
            {
                    
    $params = array("Dies""ist""ein""Test");
                    
    $this->Bar() //Hir sollen die Parameter dynamisch übergeben werden.
            
    }

            function 
    Bar($param1$param2$param3$param4)
            {
                    echo 
    "$param1<br>\n";
                    echo 
    "$param2<br>\n";
                    echo 
    "$param3<br>\n";
                    echo 
    "$param4<br>";
            }



  • #2
    Schau dir mal diesen Teil der PHP Referenz an: PHP: Funktionsparameter - Manual

    Kommentar


    • #3
      Auf der Seite hab, steht leider nicht davon wie man die Parameter dynamisch übergeben kann da steht nur wie man die übergebenen Parameter auslesen kann...
      Ich habe ja folgendes vor, jedes Array Element soll als ein Parameter übergeben werden...

      Kommentar


      • #4
        ich glaube du suchst sowas: $param[0] ...

        Kommentar


        • #5
          Nicht genau weil das ja alles dynamish ablaufen soll...
          Geht das nicht mit "call_user_func_array" wenn ich mich nicht irre aber wie ruft man damit functionen aus einer Klasse auf??

          Kommentar


          • #6
            So habs heraus gefunden mein code sieht jetzt wie folgt aus...
            PHP-Code:
            Class Foo
            {
                    function 
            Foo()
                    {
                            
            $params = array("Dies""ist""ein""Test");
                            
            call_user_func_array(array(&$this"Bar"), $params);  //Dynamischer aufruf der Funktion.
                    
            }

                    function 
            Bar($param1$param2$param3$param4)
                    {
                            echo 
            "$param1<br>\n";
                            echo 
            "$param2<br>\n";
                            echo 
            "$param3<br>\n";
                            echo 
            "$param4<br>";
                    }

            Trotzdem danke das Ihr es versucht habt...

            Kommentar


            • #7
              Achso sorry, dann hab ich deine Frage falsch verstanden! Hatte es so verstanden, dass du eine dynamische Anzahl an Parameter übergeben wolltest.

              Was passiert in deinem Fall, wenn das Array $params mehr als 4 Elemente beinhaltet? Die Funktion Bar() hat ja nur 4 Parameter....
              Verstehe also den Sinn der dynamischen Übergabe nicht, wenn sie nicht mit einer dynamischen Anzahl an Parametern kombiniert wird....

              Kommentar


              • #8
                Gibt es einen trieftigen Grund, warum die eine Methode der Klasse die andere Methode so schlecht kennt, dass Du hier auf call_user_func_array zurückgreifen musst?

                Kommentar


                • #9
                  Ja weil das ganze nachher Klassen übergreifend arbeiten soll...

                  Kommentar


                  • #10
                    Dann nehme ich mal an, Du willst Dich mit Facade pattern - Wikipedia, the free encyclopedia beschäftigen.

                    Kommentar

                    Lädt...
                    X