Validierungen über eine Klasse

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

  • #16
    Originally posted by phpMorpheus2 View Post
    Wieso PHP4?
    Was schriebe ich denn in PHP4
    PHP Code:
    class validierung
    {
        var 
    $error_msg// <- var ist PHP4, in PHP5 private, protected oder public nutzen
        // ...

    Comment


    • #17
      Originally posted by phpMorpheus2 View Post
      Was schriebe ich denn in PHP4
      PHP Code:
      class validierung
      {
        var 
      $error_msg;
        function 
      validierung()
        {
          
      $this->error_msg = array();
        }

      Bei PHP5 kannst du mit Sichtbarkeitsstufen arbeiten und die Daten so besser kapseln. Siehe dazu das hier. Außerdem gibt es in PHP4 keine Interfaces und abstrakte Klassen.

      Peter
      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
      Meine Seite

      Comment


      • #18
        PHP: Visibility - Manual

        Comment


        • #19
          Originally posted by PHP-Desaster View Post
          PHP Code:
          class validierung
          {
              var 
          $error_msg// <- var ist PHP4, in PHP5 private, protected oder public nutzen
              // ...

          Achso.
          Ja da hast du natürlich Recht.
          Danke für den Hinweis.

          Comment


          • #20
            Ist es Eurer Meinung nach gefährlich,
            eine Abfrage so zu gestalten?
            (Schwirrt mir grad im Kopf rum...)
            Immerhin wird nur nach True/False gefragt.
            Wird bei JEDEM Inhalt, egal welcher Art, sofern jedoch vorhanden, immer True ausgegeben?
            Nicht das ich die Anweisung nutze, sie aber unsauber ist und vll. bei bestimmten Daten nicht greift.

            Es sind ja keine gleichen Datentypen ...

            PHP Code:
            function test()
            {
                return 
            "Irgendwas";
            }

            if((
            $result test()) == true)
            {
                echo 
            $result;

            Comment


            • #21
              Es wird nicht true zurückgegeben sondern der String "Irgendwas". Und wenn die Methode test() mal geändert wird und z.B. 0 liefert, dann wird die if-Bedingung nicht erfüllt (0 != true) und somit auch nichts ausgegeben.

              Ich finde diese Art der if-Bedingung übrigens nicht gut. Um sie zu verstehen muss man wissen, dass der Wert einer Zuweisung der zugewiesene Wert ist und dass == nicht auf Typgleichheit prüft. Außerdem muss man die Klammerung und Operator-Präzedenzen beachten. Das ist ein bisschen zu viel auf einmal.
              So finde ich deutlich lesbarer und weniger "fehlerträchtig":
              PHP Code:
              $result test();
              if (
              $result) {  // meinetwegen auch mit "== true"
                  
              echo $result

              Comment


              • #22
                Originally posted by onemorenerd View Post
                Es wird nicht true zurückgegeben sondern der String "Irgendwas". Und wenn die Methode test() mal geändert wird und z.B. 0 liefert, dann wird die if-Bedingung nicht erfüllt (0 != true) und somit auch nichts ausgegeben.

                Ich finde diese Art der if-Bedingung übrigens nicht gut. Um sie zu verstehen muss man wissen, dass der Wert einer Zuweisung der zugewiesene Wert ist und dass == nicht auf Typgleichheit prüft. Außerdem muss man die Klammerung und Operator-Präzedenzen beachten. Das ist ein bisschen zu viel auf einmal.
                So finde ich deutlich lesbarer und weniger "fehlerträchtig":
                PHP Code:
                $result test();
                if (
                $result) {  // meinetwegen auch mit "== true"
                    
                echo $result

                Dankeschön. Bist aber noch lange auf den Beinen

                Comment


                • #23
                  Länger als du ahnst.

                  Comment


                  • #24
                    Originally posted by onemorenerd View Post
                    Länger als du ahnst.
                    HeHe

                    Nochmals eine kurze Frage am Rande.
                    Ich arbeite ja nun mit Klassen.
                    Daher ist es einfacher, die eigentliche php, welche das Design beinhaltet,
                    mit nur sehr wenig php Code zu konfrontieren.
                    Nun, es lässt sich nicht sehr leicht vermeiden, fast keine IF Abfragen oder sonstigen php Code in der php Datei zu hinterlassen.

                    Das ist aber normal, oder?
                    Man braucht ja irgendwie immer mal eine Schleife, eine IF Abfrage etc. !?!

                    Comment


                    • #25
                      Originally posted by phpMorpheus2 View Post
                      Nun, es lässt sich nicht sehr leicht vermeiden, fast keine IF Abfragen oder sonstigen php Code in der php Datei zu hinterlassen. Das ist aber normal, oder? Man braucht ja irgendwie immer mal eine Schleife, eine IF Abfrage etc.
                      Wenn dein "Front-Controller" ein paar Bedingungen enthält, so ist das imho völlig ok. Man sollte OOP nicht um der OOP Willen einsetzen, sondern wenn es sinnvoll ist. Manche übertreiben es da ein wenig.

                      Peter
                      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                      Meine Seite

                      Comment


                      • #26
                        Originally posted by Kropff View Post
                        Wenn dein "Front-Controller" ein paar Bedingungen enthält, so ist das imho völlig ok. Man sollte OOP nicht um der OOP Willen einsetzen, sondern wenn es sinnvoll ist. Manche übertreiben es da ein wenig.

                        Peter
                        Dachte ich mir schon.

                        Comment


                        • #27
                          Ich habe eine Klasse namens user angelegt.
                          (Sehr schön übrigends, die Klassen! Und so Vorteilhaft)
                          Nun möchte ich eine Liste der user aufstellen.

                          In einer Array die user in jeweils einem anderen index erstellen lassen via Schleife?
                          $array[0] = new user(id:1);
                          $array[1] = new user(id:2);
                          usw. ?

                          Wie handhabt man ein solches Vorhaben?

                          Comment


                          • #28
                            PHP Code:
                            interface Printable {
                                public function print();
                            }
                            class 
                            GenericList extends ArrayIterator implements Printable { ... }
                            class 
                            UserList extends GenericList { ... }

                            $users = new UserList();
                            $users->add(new User(1), new User(2), ...); 

                            Comment


                            • #29
                              Originally posted by onemorenerd View Post
                              PHP Code:
                              interface Printable {
                                  public function print();
                              }
                              class 
                              GenericList extends ArrayIterator implements Printable { ... }
                              class 
                              UserList extends GenericList { ... }

                              $users = new UserList();
                              $users->add(new User(1), new User(2), ...); 
                              Spitze. Danke.

                              Comment


                              • #30
                                Jetzt muss ich nurnoch schaun,
                                was ein Interface macht, was ein implements bringt
                                und was genau extends nochmal war

                                EDIT: Das war 'n Spaß nech, net das gleich was kommt ^^
                                Last edited by phpMorpheus2; 28-06-2009, 22:15.

                                Comment

                                Working...
                                X