dynamischer methoden name

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

  • dynamischer methoden name

    Abend,

    geht das

    PHP Code:

    $test 
    "add{$mParam2}";
    $this->$test($mParam1);

    //geht net:

    $this->add{$mParam2}($mParam1); 
    eigentlich noch eleganter, z.B. in einer Zeile? am besten auch ohne das man wieder eine Funktion als Methoden (Name) Factory, ala call_user_func(), oder Reflection braucht?!

  • #2
    Afaik nein, du solltest auf jeden Fall call_user_func_array dafür benutzen.
    Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

    Comment


    • #3
      Re: dynamischer methoden name

      Original geschrieben von frank7l7
      geht das
      ...
      eigentlich noch eleganter, z.B. in einer Zeile?
      eine anweisung, ja:
      PHP Code:
      $this->{'add'.$mParam2}($mParam1); 
      die beurteilung, ob's eleganter ist, überlasse ich dir
      Last edited by 3DMax; 23-05-2008, 02:27.

      Comment


      • #4
        Lesbar ist es jedenfalls kaum noch.

        Comment


        • #5
          onemornerd bezieht sich bestimmt auf meine erste variante
          PHP Code:
          $this->{"add{$mParam2}"}($mParam1); 
          sorry für's editieren - kann ja keiner ahnen, dass nochwer mitten in der nacht das liest

          ps: die zweite variante ist aber auch nicht viel besser

          Comment


          • #6
            tjoa ... so gehts doch danke! lesbarkeit find ich bei call_user_func auch nicht besser

            Comment


            • #7
              Ich würde das mit __get und __set lösen. Alles andere sieht eher nach Bastlermethode aus.

              Comment


              • #8
                Original geschrieben von h3ll
                Ich würde das mit __get und __set lösen. Alles andere sieht eher nach Bastlermethode aus.
                echt? dann gib' doch mal dein profibeispiel

                aber __call() war bei der problemstellung auch mein erster gedanke.
                aber selbst dann sieht's für mich wie ein kaputtes design aus - zumindest wüsste ich auf anhieb nicht, wo ich soetwas gebrauchen könnte.

                Comment


                • #9
                  dann gib' doch mal dein profibeispiel
                  gern
                  Wenn ich denn wüsste, wo es überhaupt hinführen soll...
                  Wir werden alle sterben

                  Comment

                  Working...
                  X