MySQL-Klasse kritisieren

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

  • #31
    Ich wusste das sowas in der Art kommt. Du kannst als Type Hints Klassen und Arrays angeben.
    Ein richtiges Argument ist das nicht von dir. Zumal der Standardwert schon eh bool ist, welcher festgelegt ist und ich davon ausgehe, dass der Kerl weiß, was er in seiner Klasse übergeben muss.

    Kommentar


    • #32
      naja, es wäre möglich, dass jemand 'false' oder 'hallo' angibt.

      Gravierend finde ich persönlich das auch nicht, schließlich gibts ne Dukumentation die genau vorgibt, welche Werte die Klasse erwartet. Dennoch hoffe ich persönlich immer noch, dass PHP eines Tages strenger mit den Typen umgeht, und wenn ich nicht sicher sein kann, dass eine variable vom entsprechenden Typ ist, dann muss ich eben entsprechend damit umgehen.

      Kommentar


      • #33
        Ich hätte auch nichts dagegen, aber dann erwarte ich auch die Möglichkeit zum Überladen von Methoden/Konstruktoren.
        Ich finde es gut, z.B ein Array von Objekten übergeben zu können oder direkt ein einzelnes Objekt. In der Methode kann ich dann prüfen ob es ein Array ist und entsprechend reagieren.
        Mit dem überladen von Methoden wäre das dann nicht mehr nötig.

        Kommentar


        • #34
          OffTopic:
          das ist ein anderes Thema.

          Kommentar


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

            Original geschrieben von Alrik
            Wieso sollte PHP konvertieren müssen, wenn beides schon boolsche Werte sind?
            Selbst wenn, muss PHP erstmal überprüfen, ob beides schon boolsche Werte sind - selbst das kostet schon extra Zeit.

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

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

            Kommentar


            • #36
              Und mit dem "===" Prüfst du erstmal ob beide den gleichen Inhalt haben und ob sie vom gleichen Typ sind. Das Ergebnis davon müsste ja wieder auf den Typ überprüft werden weshalb diese Lösung weniger performant wäre.

              Du hast in dem Fall 2 Abfragen mehr gegenüber meinem Vorschlag.

              Kommentar


              • #37
                Und mit dem "===" Prüfst du erstmal ob beide den gleichen Inhalt haben und ob sie vom gleichen Typ sind.
                diese aussage möchte belegt werden.
                Du hast in dem Fall 2 Abfragen mehr gegenüber meinem Vorschlag.
                warum zwei?

                Kommentar


                • #38
                  ganz kurzer Benchmark, verbessert mich, wenn ich irgendwas falsch mitbekommen habe:
                  PHP-Code:
                  $eins 1;
                  $zwei 'zwei';

                  $TIME = new Stopwatch();

                  $TIME->go();
                  for(
                  $i=0;$i<1000000;$i++)
                      if(
                  $eins === $zwei);
                  echo 
                  $TIME->stop();

                  $TIME->go();
                  for(
                  $i=0;$i<1000000;$i++)
                      if(
                  $eins == $zwei);
                  echo 
                  $TIME->stop();

                  $TIME->go();
                  for(
                  $i=0;$i<1000000;$i++)
                      if(
                  $eins === $zwei);
                  echo 
                  $TIME->stop(); 
                  0.209890842438
                  0.335451841354
                  0.208462953568

                  Kommentar


                  • #39
                    das ist leider aussagelos.

                    Kommentar


                    • #40
                      weil?

                      Kommentar


                      • #41
                        "Beweis": http://www.php.net/manual/en/languag...comparison.php

                        if ($foo === true)

                        - Schauen ob $foo und true den gleichen Wert haben
                        - Schauen ob $foo und true den gleichen Typ haben
                        - dann nimmt "if" das Ergebnis und prüft es auf true/false

                        if ($foo)

                        - if nimmt den Parameter und prüft es auf true/false

                        Zwei Abfragen mehr.

                        Kommentar


                        • #42
                          Original geschrieben von Alrik
                          Und mit dem "===" Prüfst du erstmal ob beide den gleichen Inhalt haben und ob sie vom gleichen Typ sind. Das Ergebnis davon müsste ja wieder auf den Typ überprüft werden weshalb diese Lösung weniger performant wäre.
                          ==
                          1. PHP prüft, ob die Variablen vom gleichen Typ sind
                          2. Wenn nein, Typenkonvertierung
                          3. Normale Überprüfung

                          ===
                          1. PHP prüft, ob die Variablen vom gleichen Typ sind
                          2. Wenn nein, false
                          3. Wenn ja, normale Überprüfung

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

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

                          Kommentar


                          • #43
                            Original geschrieben von Alrik
                            Zwei Abfragen mehr.
                            omg, Manual != Code!
                            Weißt du überhaupt wie die Zend-Engine intern die Datentypen abspeichert? Schon mal was von Struct gehört?
                            Wenn nein, hör bitte auf zu posten...

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

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

                            Kommentar


                            • #44
                              Hallo Mädels, ich will hier garnicht den '==' Operator mit '===' vergleichen, das wollt nur ihr aus irgendeinem Grund. Lest doch erstmal richtig was ich geschrieben habe sonst braucht IHR nicht zu posten.

                              Kommentar


                              • #45
                                Alrik, du erklärst mir deren bedeutung - die ist mir bekannt. was ich von dir will, ist, dass du im cvs von php die datei Zend/zend_operators.c findest, dort die funktionen is_identical_function (das ist "===") und is_equal_function ("==") findest, den grundsätzlichen aufbau verstehst, weiter nach compare_function und convert_to_boolean schaust.

                                dann überlegst du dir noch mal, was als vergleich gezählt wird und woran man die effizienz (habe ich schon mal erwähnt, dass dieser begriff in diesem kontext völlig sinnfrei ist?) messen könnte.

                                p.s. ein kurzer blick erklärt übrigens tobis messergebnisse. trotzdem sollte eine direkte zeitmessung nicht zur untersuchung von funktionalität dienen (aufgrund von code optimierung. zend engine kann einiges).

                                Kommentar

                                Lädt...
                                X