Single Quotes oder Double? das ist hier die frage^^

  • Hallöchen,
    mal eine Frage.
    welche Variante findet ihr Sinnvoller und welche Nachteile gibt es bei den anderen?

    PHP
    <?php
    echo "wie gehts so, $name";
    echo 'mir gehts gut';
    ?>

    und hier möchte ich eigendlich persönlich wissen, wie ihr das verwendet und was besser ist.

  • Meiner Meinung nach sollte man doppelte Anführungszeichen benutzen und alle für Html genutzten " maskieren.

    Dir ist vielleicht bekannt , dass eine php-Variable zwischen einfachen Anführungszeichen nicht interpretiert wird, dies kann zu ärgerlichen Fehlern führen, wobei man sowieso statt
    $gruss = "Hallo";
    echo "String $gruss ! ";

    die Punktnotation nutzen (siehe Doku), was dann so aussieht:

    $gruss = "Hallo";
    echo "String ".$gruss." ! ";

    Wie du siehst, sind einfache Anführunszeichen nur für sql-Querys und Strings wirklich sinnvoll.

    Sämtlicher Code erhebt keinen Anspruch auf syntaktische Korrektheit geschweige denn Ausführbarkeit und ist für die Implementation außerhalb der Beispiele nicht geeignet.
    [Blockierte Grafik: http://www.snippr.de/social/img/logo.png]
    Kein Support für kommerzielle Scripts | Kein kostenloser Support via ICQ

  • Zitat

    Wie du siehst, sind einfache Anführunszeichen nur für sql-Querys und Strings wirklich sinnvoll.

    Das sehe ich allerdings anders.
    Für mich ist " " die schlampigere Methode.
    Ein String gehört imo immer so.

    Code
    $string = 'Hallo, ich bin ein '.$stringType.' String.'


    Ist eigentlich alles ansichtssache, aber ' ' geht ein wenig schneller als " ".

  • Laut verschiedenen (kostenfreien) Code-Optimisierern sollte ein String immer

    Code
    $string = 'Ausgabe der Variable: '.$variable.'!';

    sein, da PHP sonst den String mal in dieses Format bringen muss um ihn ueberhaupt zu verstehen.

    Auch für Syntaxerkennung und damit produktives Arbeiten ist es meiner Meinung nach bedeutend sauberer und einfacher mit den single-quotes zu arbeiten -KATE erkennt zwar Variablen in Doublequotes aber stellt sie nicht im charakteristischen Blau dar :)

  • Ich glaube es ist einfach bei mir eine (schlechte?) Angewohnheit aus Java (NICHT Javascript) , da dort doppelte Anführungszeichen für Strings pflicht sind . Einfache werden als char , ein einzelnes Zeichen, interpretiert.

    Sämtlicher Code erhebt keinen Anspruch auf syntaktische Korrektheit geschweige denn Ausführbarkeit und ist für die Implementation außerhalb der Beispiele nicht geeignet.
    [Blockierte Grafik: http://www.snippr.de/social/img/logo.png]
    Kein Support für kommerzielle Scripts | Kein kostenloser Support via ICQ

  • ich hab noch ne frage,
    mache mal kein neues thema auf.

    also gibt es vielleicht so eine seite wo es musterseite gibt, vll von W3C oder von den PHP entwicklern?

    das man sehen kann was so standard ist ?
    welches von den varianten ist denn eigendlich schneller?

    felix

  • Ich habs mir grade durchgelesen ;)
    Seltsamerweise -oder sollte ich besser sagen logischerweise- halte ich mich aus
    Efahrung mit unübersichtlichem Code unbewusst sehr eng an den "Standart",
    welcher übrigens lobenswert ist, auch wenn der Teil über "magische Zahlen" doch ein bisschen weit geht -ich werde doch nicht für jede Zahl define benutzen????
    Ein kleiner Kommentar dahinter tuts bei einmalig verwendeten Zahlen auch schon :)

  • also, wie würde man das dann mit der single quotes schriebweise machen?:

    Code
    <a href="#" onclick="document.form.name.value = '$test/$id' ">

    ich weiß einfach nicht wie ich das machen soll, da ich ein projekt anfange und ich möchte dann nicht nach ner woche alles umändern^^

    also ich möchte single quotes verwenden so in der art:

    Code
    echo 'mein name ist'.$name.' und ich hasse latein. [url='link.php']link[/url]';

    kann man auch bei html, z.B: beim header das so schreiben?:

  • Du kannst entweder die Doublequotes im Text benutzen

    Code
    echo 'mein name ist'.$name.' und ich hasse latein. [url='link.php']link[/url]';


    oder die Quotes "escapen"

    Code
    echo 'mein name ist'.$name.' und ich hasse latein. <a href=\'link.php\'>link</a>';


    Durch den \ erkennt PHP dass es sich um ein Textteil und nicht das Ende des Strings handelt (und nimmt den \ in der Ausgabe raus)

    HTML erlaubt auch die Schreibweise von ' und ", wobei bei HTML meistens " für die Kommandos und ' für die Verschachtlungen angeraten werden :)

    Code
    <div style="background-img:url('bild.png');"></div>


    Das ist aber wieder Geschmackssache aber die offizielle Dokumentationen von w3c nehmen immer " für die "Befehle".

    Ich rate an einen SyntaxHighlighter beim Coden zu verwenden (falls du das noch nicht tust), zB Eclipse oder Notepad++ unter Windows und KATE unter KDE

  • DarkSyranus

    naja ich habe mir das mal durchgelesen.
    Code ja nun wirklich schon eine ganze Weile..

    finde die Hälfte der Regeln nonsens und benutze sie so nicht.

    was ist z.B. an

    besser als an

    also die geschweiften klammern beim else zu haben finde ich masiv übersichtlicher...


    also das ganze ist imho Situationsbedingt und nicht nach einem Standard zu machen. Ee stimmt zwar das man auf Übersichtlichkeit achten sollte wobei Kommentare Goldwert sind. Aber diese Regeln finde ich Quatsch.

  • Ich halte das für überhaupt nicht übertrieben, bei Javaklassen haben wir auch IT-Teaminterne Order genau diese "Standards" einzuhalten. - Für Projekte mit mehr Beteiligung als dem Verfasser rate ich seitdem auch dazu.

    Sämtlicher Code erhebt keinen Anspruch auf syntaktische Korrektheit geschweige denn Ausführbarkeit und ist für die Implementation außerhalb der Beispiele nicht geeignet.
    [Blockierte Grafik: http://www.snippr.de/social/img/logo.png]
    Kein Support für kommerzielle Scripts | Kein kostenloser Support via ICQ

  • aber nun sie mal ehrlich, du findest das obere doch nicht wirklich übersichtlicher / schneller erfasbar oder? Den ich habe hier im Büro rumgefragt also Programmierer und Sekretärinen sagen da alle das gleichen.

    Bin ja definitiv dafür das im Team einheitlich geschrieben werden sollte aber das wie, passt mir bei diesem "Standart" nicht.


    Wenn man z.B. Klammern hat die nicht auf der selben Seite sind macht man Kommentare dazu. Wenn man die immer noch nicht findet, der Editor kann es sicher ;) Das ist an deinem "Standart" auch nicht anders.

  • Ja manchmal hast du recht, aber dennoch kann unter Umständen mal was sein, was man lieber einklammern sollte.
    Ich habe auf den Standard verwiesen, weil es einen guten Einstieg darstellt.
    Es wird dort auch immer wieder betont, dass man die Regeln brechen kann, wenn es dem Team gefällt.
    Ich als außen stehender kann mir jedenfalls unter den Variablen-Namen ($d, $cl und $data) jedenfalls nicht so wirklich was vorstellen :wink: