MySQL-Klasse kritisieren

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

  • #16
    mir erscheint es einfach nich logisch, dass eine datenbank auf eine datenbank connected...
    Die Klassen Datenbank ermöglicht dir zu unterschiedlichen, in diesem Fall MySQL-Datenbanken, zu connecten. Somit ist eine Klasse portabel und ersparrt dir im Endeffekt viel Zeit. Wenn dir deine KLassennamen nicht logisch erscheinen dann bennenne sie doch einfach, in einem für dich logischen Namen, um.

    anstatt database würde ich ehersowas wie ein dataset modellieren, welches man mittels eines adapters füllen kann
    LOL?!?!
    tutorial: peterkropff.de schattenbaum.de tut.php-quake.net
    documentation: php.net mysql.com framework.zend.com

    Die Nachtwache!

    Kommentar


    • #17
      na tut mir leid, aber wenn das die funktion der klasse darstellen soll,
      dann kann man die doch nich database nennen...

      ich will ja nich kleinkariert erscheinen, aber wenn man klassen
      erstellt und benennt, dann sollten die doch irgendwie bezug zur
      funktion bzw realität haben...

      LOL?!?!
      unfassbar aber in manchen framework macht mans so (in der art )
      d.h. mit einem adapter auf die db connecten...
      Zuletzt geändert von BugBite; 07.09.2007, 18:27.

      Kommentar


      • #18
        Bei der Abstraktion geht es doch darum, dass der Controller nicht für die Datenbank zuständig ist, dass heißt die Tabellen werden zum Beispiel in Klassen abgebildet und dann verknüpft - die Querys werden dann automatisch gebildet werden (die Logik kann auch in anderen DBMS benutzt werden).
        Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

        Kommentar


        • #19
          Hallo,
          danke euch für die tollen Antworten
          Ich müsste wissen das ist das erstemal das ich sowas schreibe und OOP war mir bis jetzt ein fremdbegriff.

          Ich hab am Dienstag angefangen mich in OOP einzulesen, davor hatte ich wenig bis garkeine PHP-Kentnisse.

          Also entschuldigt mich wenn ich was fehlerhaft bzw. nicht Ordnungsgemäß gemacht habe.


          Vielleicht solltest du auch erstmal ein UML Anlegen
          Was ist ein UML?

          Viel interessanter
          fänd ich jetz ne ordentliche Klasse zur Datenabstraktion
          Was meinst du genau damit?

          Denkt ihr mein Ansatz ist falsch? Oder hab ich alles Falsch gemacht?
          Aber seitdem ich das geschrieben habe kann ich einfach viel mehr als wie vorher.

          Hmm über weitere Tips würde ich mich freuen, werd heut Nacht die Klasse neu schreiben und es wieder posten.

          Kommentar


          • #20
            Original geschrieben von hiro
            Was ist ein UML?
            Google/Wikipedia

            Was meinst du genau damit?
            Hast du nach Lesen des einen Postings aufgehört und die 10 anderen gar nicht erst angeschaut? Ansonsten wäre die Frage jetzt entweder unnötig, oder konkreter...

            Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

            bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
            Wie man Fragen richtig stellt

            Kommentar


            • #21
              Original geschrieben von ghostgambler
              Google/Wikipedia


              Hast du nach Lesen des einen Postings aufgehört und die 10 anderen gar nicht erst angeschaut? Ansonsten wäre die Frage jetzt entweder unnötig, oder konkreter...
              Hallo,
              Wikipedia hab ich schon gefragt aber da is die Erklärung nicht immer für jeden Verständlich.

              Wenn du den Beitrag von tontechnicker meinst
              Bei der Abstraktion geht es doch darum, dass der Controller nicht für die Datenbank zuständig ist, dass heißt die Tabellen werden zum Beispiel in Klassen abgebildet und dann verknüpft - die Querys werden dann automatisch gebildet werden (die Logik kann auch in anderen DBMS benutzt werden).
              Hab ich auf ne bessere Erklärung gehofft

              Ps.: Tut leid wenn ich nicht gleich alles verstehe, liegt vll. daran das Deutsch nicht meine Muttersprache ist. (Lebe seit 3 Jahren in ÖE)

              Kommentar


              • #22
                Original geschrieben von hiro
                Wikipedia hab ich schon gefragt aber da is die Erklärung nicht immer für jeden Verständlich.
                Also den ersten Absatz sollte man eigentlich verstehen... und wenn es dir in Deutsch zu schwer ist (ich gebe zu, es sind viele Fremdworte drin), linke Leiste, ganz unten, da finden sich gaaaanz viele weitere Sprachen, in welcher der Artikel ähnlich auch vorhanden ist - irgendwo wird deine doch bei sein? Und da sollten dann auch Fremdworte nicht mehr hinderlich sein...

                Wenn du den Beitrag von tontechnicker meinst
                Nein, ich meinte die Diskussion allgemein~

                Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                Wie man Fragen richtig stellt

                Kommentar


                • #23
                  ohne UML brauchste imho mit OOP oder OOM allgemein erst garnich anfangen

                  Kommentar


                  • #24
                    @Hiro: Dir fehlt Grundlagenwissen. Lies mal ein gutes Buch über OOP im Allgemeinen und vielleicht noch eines über OOP mit PHP.

                    Original geschrieben von BugBite
                    ohne UML brauchste imho mit OOP oder OOM allgemein erst garnich anfangen
                    Diese Aussage ist völlig unangebracht!
                    Vielleicht befasst du dich ausschließlich mit sehr großen Projekten, die ohne UML nicht zu überschauen wären.
                    Aber es ist nicht sinnvoll, ein UML-Diagramm für eine einzige Klasse zu zeichnen.

                    Kommentar


                    • #25
                      aber wenn du sie einmal in UML gezeichnit hast brauchst du sie beim nächsten projekt nur mit drag and drop reinwerfen :]

                      Kommentar


                      • #26
                        Re: MySQL-Klasse kritisieren

                        Original geschrieben von hiro

                        PHP-Code:
                        <?
                        if($autoSelect === true) {
                        if (is_resource ($this -> linkID)) {
                        if($this->linkID === false) {
                        if (@mysql_select_db($this->database, $this->linkID) === false)
                        ?>
                        Hi,

                        Um mal von der Kritik an der Klasse wegzukommen (ich hätte eher ein Interface geschrieben für Datenbanken und meine DB Klassen würden das Interface implementieren, da du eh jede Methode überscheiben müsstest, wenn du vererbst.

                        Bei deinen If Abfragen machst du einen typischen "Anfängerfehler". Du fragst z.B. im ersten "if", ob autoselect gleich "true" ist, und wenn das Ergebnis daraus "true" ist, dann soll der was machen. Warum nicht gleich das Ganze so schreiben:
                        PHP-Code:
                        if ($autoselect)
                         
                        // ...
                        if (!$this->linkID)
                         
                        // ... 
                        Einmal hast du es sogar bereits so getan:
                        PHP-Code:
                        if (is_resource ($this -> linkID)) 
                        Hier hast du ja auch nicht auf "true" explizit geprüft.


                        Gruß Thomas

                        Kommentar


                        • #27
                          Re: Re: MySQL-Klasse kritisieren

                          Original geschrieben von Alrik
                          Bei deinen If Abfragen machst du einen typischen "Anfängerfehler". Du fragst z.B. im ersten "if", ob autoselect gleich "true" ist, und wenn das Ergebnis daraus "true" ist, dann soll der was machen. Warum nicht gleich das Ganze so schreiben:
                          Weil es genau genommen einfach falsch ist.
                          In dem Fall muss PHP erst eine implizite Typenkonvertierung durchführen, die es sich bei === sparen kann, das ist nicht nur sauberer, sondern auch schneller.
                          Natürlich achtet da bei PHP kein Mensch drauf, aber die Variante mit dem dreifachen Gleichheitszeichen ist, in der Informatik-Theorie her, mit Sicherheit die bessere.

                          Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                          bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                          Wie man Fragen richtig stellt

                          Kommentar


                          • #28
                            Re: Re: MySQL-Klasse kritisieren

                            Original geschrieben von Alrik

                            Bei deinen If Abfragen machst du einen typischen "Anfängerfehler". Du fragst z.B. im ersten "if", ob autoselect gleich "true" ist, und wenn das Ergebnis daraus "true" ist, dann soll der was machen. Warum nicht gleich das Ganze so schreiben:
                            PHP-Code:
                            if ($autoselect)
                             
                            // ...
                            if (!$this->linkID)
                             
                            // ... 
                            Das sehe ich nicht so. Ich würde sogar so weit gehen, das unsauber zu nennen - mal abgesehen davon, dass PHP erstmal den Typ des zu untersuchenden Parameters konvertieren muss, was in die Performance eingreift.
                            PHP-Code:
                            if ($bool)
                            {
                                
                            // ...

                            Dank PHPs schwacher Typisierung kann $bool 1, 'true', TRUE usw. sein. Und wenn man nun einen bestimmten Wert von einem Parameter erwartet, wieso sollte man ihn dann nicht explizit auf diesen überprüfen?
                            Nieder mit der Camel Case-Konvention

                            Kommentar


                            • #29
                              Re: Re: Re: MySQL-Klasse kritisieren

                              Original geschrieben von ghostgambler
                              Weil es genau genommen einfach falsch ist.
                              In dem Fall muss PHP erst eine implizite Typenkonvertierung durchführen, die es sich bei === sparen kann, das ist nicht nur sauberer, sondern auch schneller.
                              Natürlich achtet da bei PHP kein Mensch drauf, aber die Variante mit dem dreifachen Gleichheitszeichen ist, in der Informatik-Theorie her, mit Sicherheit die bessere.
                              Wieso sollte PHP konvertieren müssen, wenn beides schon boolsche Werte sind?

                              Kommentar


                              • #30
                                Du sagst es: wenn....

                                bei Arrays kann man ja mittlererweile den Typ im Methodenkopf vorgeben, bei boolean ists aber glaube ich NOCH nicht so.

                                Kommentar

                                Lädt...
                                X