Validierungen über eine Klasse

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

  • #16
    Zitat von phpMorpheus2 Beitrag anzeigen
    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
        // ...

    Kommentar


    • #17
      Zitat von phpMorpheus2 Beitrag anzeigen
      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

      Kommentar


      • #18
        PHP: Visibility - Manual

        Kommentar


        • #19
          Zitat von PHP-Desaster Beitrag anzeigen
          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.

          Kommentar


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

            Kommentar


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

              Kommentar


              • #22
                Zitat von onemorenerd Beitrag anzeigen
                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

                Kommentar


                • #23
                  Länger als du ahnst.

                  Kommentar


                  • #24
                    Zitat von onemorenerd Beitrag anzeigen
                    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. !?!

                    Kommentar


                    • #25
                      Zitat von phpMorpheus2 Beitrag anzeigen
                      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

                      Kommentar


                      • #26
                        Zitat von Kropff Beitrag anzeigen
                        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.

                        Kommentar


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

                          Kommentar


                          • #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), ...); 

                            Kommentar


                            • #29
                              Zitat von onemorenerd Beitrag anzeigen
                              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.

                              Kommentar


                              • #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 ^^
                                Zuletzt geändert von phpMorpheus2; 28.06.2009, 23:15.

                                Kommentar

                                Lädt...
                                X