Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Geschweifte Klammern bei Functions() & Methods()

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Geschweifte Klammern bei Functions() & Methods()

    Wie werden Methoden richtig geschrieben ?

    Variante 1.)
    PHP-Code:
    public function bla () {


    Variante 2.)
    PHP-Code:
    public function ba()
    {


    Die Varante 2 habe ich besonders oft im Zusammenhang mit dem ZF gesehen.

    Ich weiß dass es keinen Unterschied macht, doch ich habe per google nichts gefunden auf meine Frage:

    Wie ist es ursprünglich gedacht gewesen eine Methode zu schreiben bzw. wie werden korrekt die Klammern gesetzt ?


    Das ist einfach Zusatzwissen, welches ich mir aneigenen möchte


  • #2
    PEAR sieht es so (Var 2.):
    http://pear.php.net/manual/de/standards.funcdef.php

    OT
    Bei Kontrollstruktiuren machen die es anders rum:
    http://pear.php.net/manual/de/standards.control.php
    /OT


    LG
    Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
    PHP.de Wissenssammlung | Kein Support per PN

    Kommentar


    • #3
      Variante 2 entspricht den weit verbreiteten PEAR Coding Standards und den Zend Coding Standards.

      Das macht sie aber nicht richtiger oder offizieller, PHP selbst gibt keine solchen Konventionen vor und so kann sich das von Firma zu Firma oder von Projekt zu Projekt unterscheiden. Wichtig ist nur dass es (z.B. innerhalb eines Teams) Namenskonventionen gibt und je nachdem in welcher Umgebung du arbeitest wird das eine oder das andere richtig sein. Arbeitest du für dich alleine, kannst du es dir quasi nach Geschmack aussuchen oder du richtest dich wenn du mit einem Framework arbeitest sinnvollerweise nach dessen Konventionen.
      @fschmengler - @fschmengler - @schmengler
      PHP Blog - Magento Entwicklung - CSS Ribbon Generator

      Kommentar


      • #4
        Ich glaube auch nicht, dass es bei dieser Frage ein richtig oder falsch gibt. Ich persönlich bevorzuge Variante 1. Was ich allerdings nicht nachvollziehen kann ist, wieso bei Methoden und Funktionen die geschweifte Klammer mal in der gleichen und mal in der nächsten Zeile geschrieben wird. Wieso nicht einheitlich, ganz gleich ob Funktion oder Kontrollanweisung? Achja ... Variante 1 spart eine Zeile

        Kommentar


        • #5
          Da jede halbwegs taugliche IDE dem Nutzer sowieso erlaubt, seine eigenen Regeln für sowas anzugeben und dann ein Klick auf “format source” o.ä. ausreicht, um den Code nach eigenem Belieben zu formatieren, halte ich solche Dinge (geschweifte Klammern auf gleiche oder Anfang nächste Zeile) für so ziemlich das unwichtigste überhaupt, was Coding Guidelines angeht ...

          Kommentar


          • #6
            Wie ist es ursprünglich gedacht gewesen eine Methode zu schreiben bzw. wie werden korrekt die Klammern gesetzt ?
            Es ist gar nicht gedacht. Whitespace und Zeilenumbrüche sind für die Syntax von PHP irrelevant.
            --

            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
            Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


            --

            Kommentar


            • #7
              Zitat von nikosch Beitrag anzeigen
              Whitespace und Zeilenumbrüche sind für die Syntax von PHP irrelevant.
              PHP-Code:
              echohtmlspecialchars("I'm not sure that's entirely true ..."); // :-P 

              Kommentar


              • #8
                Zitat von Trainmaster Beitrag anzeigen
                [...]Wieso nicht einheitlich, ganz gleich ob Funktion oder Kontrollanweisung? [...]
                Kontroll-Ausdrücke sollten ein Leerzeichen zwischen den Schlüsselwörtern und der öffnenden Klammer haben, um sie von Funktionsaufrufen unterscheiden zu können.
                Quelle:
                http://pear.php.net/manual/de/standards.control.php

                Kommentar


                • #9
                  Das meinte ich gar nicht. Sondern dass bei Kontrollstrukturen wie if () die geschweifte Klammer in der gleichen Zeile, bei Funktionen/Methoden die geschweifte Klammer in einer neuen Zeile geschrieben werden soll.

                  Kommentar


                  • #10
                    Genau das meint doch der Text.

                    http://pear.php.net/manual/de/standards.funcdef.php
                    > Dort ist es eine Zeile tiefer

                    http://pear.php.net/manual/de/standards.control.php
                    > Dort ist es in der gleichen Zeile.
                    > Begründet wird die gleiche Zeile mit einem Leerzeichen zwischen der Klammer (Anstelle der Enter Taste / der neuen Zeile) mit dem Grund, dass es sich von einer Funktion unterscheiden soll.


                    Die Begründung zielt genau auf deine Frage ab

                    Kommentar


                    • #11
                      echohtmlspecialchars("I'm not sure that's entirely true ..."); //
                      Dass Token unterscheidbar sein müssen ist selbstverständlich.
                      PHP-Code:
                      echo(htmlspecialchars("I'm not sure that's entirely true ...")); 
                      --

                      „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                      Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                      --

                      Kommentar


                      • #12
                        Zitat von dreamcatcher Beitrag anzeigen
                        Begründet wird die gleiche Zeile mit einem Leerzeichen zwischen der Klammer (Anstelle der Enter Taste / der neuen Zeile) mit dem Grund, dass es sich von einer Funktion unterscheiden soll.
                        Das begründet nicht mein Anliegen. Und überhaupt wird auf den beiden Seiten nirgendwo begründet, wieso die geschweiften Klammern einmal in der gleichen Zeile und einmal in der nächsten Zeile sind.

                        Bei der angeführten Begründung geht es darum, zwischen Kontrollanweisung und Funktionsaufruf zu unterscheiden. Das heißt man solle nicht bspw. folgendes schreiben:

                        PHP-Code:
                        if($foo// Kontrollanweisung falsch 
                        sondern
                        PHP-Code:
                        if ($foo// Kontrollanweisung richtig 
                        Leerzeichen zwischen den Schlüsselwörtern und der öffnenden Klammer haben, um sie von Funktionsaufrufen unterscheiden zu können

                        Kommentar


                        • #13
                          - http://en.wikipedia.org/wiki/Indent_style#K.26R_style

                          Functions, however, are braced distinctly from statements; an opening function brace is placed on the line following the declaration, at the same indentation level as the declaration. This is because in the original C language, argument types needed to be declared on the subsequent line, whereas when no arguments were necessary, the opening brace would not appear in the same line with the function declaration.
                          *schulterzuck*

                          Kommentar


                          • #14
                            Zitat von Trainmaster Beitrag anzeigen
                            Das begründet nicht mein Anliegen. Und überhaupt wird auf den beiden Seiten nirgendwo begründet, wieso die geschweiften Klammern einmal in der gleichen Zeile und einmal in der nächsten Zeile sind.
                            Es gibt dafür keine Begründung, das ist eine Sache der persönlichen Vorliebe. "Richtig" oder "Falsch" ist darauf nicht anwendbar.

                            Erste Notation hat den Vorteil, das öffnende und schliessende geschweifte Klammer auf der gleichen Ebene (=Spalte) liegen.

                            Letzter Notation spart eine Zeile Sorucecode pro Klammerpaar.
                            Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                            Kommentar

                            Lädt...
                            X