Willkommen in der Webstatt Zum Webstatt Blog und Stories
Thiemm Thiemm am 06.03.06 14:54

Hi!

Mich würde mal interessieren, nach welchem Schema ihr euren PHP Code formatiert.
Ich halte mich atm an den PEAR Coding Standard.

<?php
if ((condition1) || (condition2)) {
action1;
} elseif ((condition3) && (condition4)) {
action2;
} else {
defaultaction;
}
?>

Gruss

netcup.de Warum gibt es hier Werbung?
Christian am 06.03.06 15:05

mach ich genauso :)

dookie dookie am 06.03.06 15:09

Ich auch, nur das ich zum Einrücken zwei statt viel Leerzeichen verwende.

Dustwolf Dustwolf am 06.03.06 15:20

Wie sieht denn der Standard aus? Ich mache das immer so:

if ($variable == 'Webstatt') {
echo 'Toll!';
} else
echo 'Menno!';


Außer es muss schnell gehen oder ist aus sonstigen Umständen in dem Fall nicht so toll...

Thiemm Thiemm am 06.03.06 15:22

Quote
Original von Dustwolf
Wie sieht denn der Standard aus? Ich mache das immer so:

if ($variable == 'Webstatt') {
echo 'Toll!';
} else
echo 'Menno!';


Außer es muss schnell gehen oder ist aus sonstigen Umständen in dem Fall nicht so toll...

Beim PEAR Standard sind es vier statt zwei Leerzeichen ;)

Michael Michael am 06.03.06 15:33

Ich halte mich grob an den PEAR Standard, allerdings rücke ich Tabs mit einer Breite von 6 anstellen von Leerzeichen ein.
Ich habe nie den Sinn einer Einrückung mit Leerzeichen verstanden... (Außer mysteriösen CVS Geschichten) - vielleicht kann mich jemand aufklären.

Benutzt ihr ein spezielles Format für Kommentare - insbesondere bei Funktions-/Methoden/KLassenkommentaren

Michael

Julian am 06.03.06 15:34

Also ich rücke immer um 1 Leerzeichen ein.
Das hab ich mir so angewöhnt, aber wenn ich z.B. mit highlight_file() arbeite, muss ich 2 Leerzeichen einrücken, damit das in der Ausgabe auch eingerückt ist.

Vielleicht änder ich deshalb mal meinen Stil von 1 auf 2 oder 4 Leerzeichen :)

Michael Michael am 06.03.06 15:36

Deswegen sind Tabs viel toller, dann kann jeder einstellen wie weit der Code eingerückt ist.

Ein einzelnes Leerzeichen halte ich persönlich für sinnlos, es soll die Lesbarkeit ja steigern ohne dass man sich darauf konzentrieren muss

Thiemm Thiemm am 06.03.06 15:37

Quote
Original von Michael
Ich halte mich grob an den PEAR Standard, allerdings rücke ich Tabs mit einer Breite von 6 anstellen von Leerzeichen ein.
Ich habe nie den Sinn einer Einrückung mit Leerzeichen verstanden... (Außer mysteriösen CVS Geschichten) - vielleicht kann mich jemand aufklären.

Benutzt ihr ein spezielles Format für Kommentare - insbesondere bei Funktions-/Methoden/KLassenkommentaren

Michael

Also bei meinem Editor entspricht einem Tab zwei Leerzeichen. Macht es dann einen Unterschied, ob ich nun mit zwei Tabs oder vier Leerzeichen einrücke? ;(

Meine Kommentare sind fast ausschließlich einzeilig, daher benutze ich immer '//'.

//edit: Huch, ich kann ja die Tabbreite verändern :O

Michael Michael am 06.03.06 15:38

*wiederhol* Der große Vorteil von Tabs ist, dass jeder bei sich selbst im Editor einstellen kann wieviele Stellen ein Tab ist.

// edit

genau ;)

Dustwolf Dustwolf am 06.03.06 15:44

Thiemm, für Einzeiler ist # angenehmer als //, finde ich.
Also 1 Leerzeichen finde ich zu wenig, aber 4 sind für meine Scripts und mein 15" Notebook zu unpraktisch. Da knallt mir jede längere MySQL-Abfrage sofort nen Zeilenumbruch rein, oder ich sroll mich zur Seite bis zur Erschöpfung.

Michael Michael am 06.03.06 15:46

# mag ich dank Perl auch wieder sehr gerne aber ist es bei PHP nicht deprecated?

Thiemm Thiemm am 06.03.06 15:52

Quote
Original von Michael
# mag ich dank Perl auch wieder sehr gerne aber ist es bei PHP nicht deprecated?

Können wir nicht ein wenig mehr die deutsche Sprache pflegen? =)
*dict.leo.org aufruf*

# ist auch für Einzeiler möglich und erlaubt. Oder was genau verstehst du unter 'deprecated'?

Dustwolf Dustwolf am 06.03.06 16:05

Wird zumindest oft für Einzeiler und zum markieren verwendet. Ich mache das beispielsweise so:

#
# Counter
#

Anweisungen
#Einzelkommentar
Anweisungen
#Einzelkommentar
etc.

milahu milahu am 06.03.06 16:06

Tsü!
condition1||condition2?action1:condition3&&condition4?action2:defaultaction

Michael Michael am 06.03.06 16:08

Natürlich sollte die deutsche Sprache benutzt werden, allerdings ist deprecated ein feststehender Begriff.

Da ich eben aber nichts dazu gefunden habe werde ich Zukunft guten Gewissens schöne # Kommentare in PHP verwedenden *freu*

Thiemm Thiemm am 06.03.06 16:13

Quote
Natürlich sollte die deutsche Sprache benutzt werden, allerdings ist deprecated ein feststehender Begriff.

Sorry, wusste ich nicht :O

Quote
Da ich eben aber nichts dazu gefunden habe werde ich Zukunft guten Gewissens schöne # Kommentare in PHP verwedenden *freu*

Habe hier ein PHP5 Buch neben mir liegen. Dem nach sind #-Kommentare korrekt.

Quote
Tsü!
condition1||condition2?action1:condition3&&condition4?action2:defaultaction

*lol* Das stand hier nicht zur Debatte. :]

Thiemm Thiemm am 11.03.06 22:02

Wie "bindet" man eigentlich Variablen korrekt in eine MySQL Query ein?

mysql_query("SELECT `bla` FROM `foo` WHERE `irgendwas` = '$mop'");oder
mysql_query("SELECT `bla` FROM `foo` WHERE `irgendwas` = '".$mop."'");oder ganz anders?!


btw...wieso kann man das Prefix nicht nachträglich ändern?

Michael Michael am 11.03.06 22:08

Ich würde die erste Variante benutzen. Die doppelten Hochkommas sind ja gerade dafür da, dass man Variablen dazwischen verwenden kann.

milahu milahu am 12.03.06 10:04

Die Formatierung ist reine Geschmackssache - Hauptsache es funktioniert! ;)

sebastian am 12.03.06 10:11

Quote
Original von milahu
Die Formatierung ist reine Geschmackssache - Hauptsache es funktioniert! ;)

Falsch falsch falsch

milahu milahu am 12.03.06 10:47

Quote
Original von sebastian
Falsch falsch falsch

Welch fundierte Argumentation! *thumbsup*

Was ich damit sagen wollte, Herr Weyrauch, ist, dass diese Diskussion eine Relevanz besitzt, die gegen Null assimiliert.

Oder schreibt dir etwa jemand vor, wie du deinen Code formatieren musst? Na siehste...

sebastian am 12.03.06 10:55

Natürlich gibt es Konventionen.

Also erstmal ist es für einen selbst wichtig, dass man den Überblick behält. Wenn man nach einem Jahr in seinen tausendzeiligen Code reinschaut, dann sollte man sich recht schnell reinarbeiten können.

Aber noch viel wichtiger: Schon mal im Team zusammengearbeitet? Weißt du wie es dann wäre, wenn sich niemand an Konventionen hält?

Oder schon mal eine fremde Programmierung vorliegen gehabt, die du erweitern/abändern solltest?

Und spätestens hier musst du einsehen, dass Formatierungen nicht nur Geschmackssache sind, sondern Konventionen durchaus Sinn machen und man sich daran halten sollte.

milahu milahu am 12.03.06 11:19

Quote
Original von sebastian
Natürlich gibt es Konventionen.

Eben, Konventionen. Vereinbarungen. Aber ist der Unterschied zwischen
<?php
mysql_query(
"s"
."e"
."l"
."e"
."c"
."t"
." "
.$foo
." "
."f"
."r"
."o"
."m"
." "
.$bar
);
?>

und
<?php
mysql_query( "select $foo from $bar" );
?>

wirklich so wichtig..?

Für die ganz harten Fälle gibt's ja immer noch "code beautifier", wie z.B. hier. ;)

sebastian am 12.03.06 11:22

natürlich ist das ein krasses beispiel.

ist auch ein unterschied ob ich ein kontaktformular mit 10 zeilen code programmiere oder 10000 zeilen code vor mir liegen habe und da machen details viel aus

p.s.: außerdem gibts teilweise performance unterschiede

Julian am 12.03.06 11:25

Quote
Original von milahu
Für die ganz harten Fälle gibt's ja immer noch "code beautifier", wie z.B. hier. ;)


Owei, man kann's auch übertreiben :D

Mein Standpunkt ist recht einfach:

Man sollte seinen Quellcode so formatieren, dass man damit arbeiten kann und es beim programmieren einfacher hat.

btw.: Ich wollte ja meinen Stil von 'einmal Leerzeichen einrücken' auf das Arbeiten mit Tab ändern, aber irgendwie habe ich keine einzige Zeile PHP mehr gecodet, seitdem die Diskussion hier entbrannt ist *g*

jonsen jonsen am 12.03.06 11:25

das Beispiel war vll ein bisschen übertrieben-> wer formatiert so schon?:D im großen und ganzen stimme ich milahu aber zu, aber ich finde so man kann seinen eigenen style entwickeln, aber der sollte vll auch noch etwas übersichtlich sein. Also ich meine ich code eher so im übersichtlichen stil^^

edit:// so julian hats jetzt auf den punkt gebracht was ich meinte^^ thx :D

sebastian am 12.03.06 11:32

Quote
Original von Julian
[quote]Original von milahu
Für die ganz harten Fälle gibt's ja immer noch "code beautifier", wie z.B. hier. ;)


Owei, man kann's auch übertreiben :D

Mein Standpunkt ist recht einfach:

Man sollte seinen Quellcode so formatieren, dass man damit arbeiten kann und es beim programmieren einfacher hat.

btw.: Ich wollte ja meinen Stil von 'einmal Leerzeichen einrücken' auf das Arbeiten mit Tab ändern, aber irgendwie habe ich keine einzige Zeile PHP mehr gecodet, seitdem die Diskussion hier entbrannt ist *g*[/quote]
ich kann halt nur empfehlen sich an konventionen zu halten

spätestens wenn 10 programmierer mit unterschiedlichen stilen dran hocken, hat man kein überblick mehr.

Wie ihr das seht, ist sicherlich eure Sache. Ich spreche nur aus Erfahrung und Konventionen haben eben Sinn

Julian am 12.03.06 11:43

Es macht ja auch einen Unterschied, ob man jetzt als hauptberuflicher Programmierer mit einem Team irgendwas erstellt oder ob man privat als Hobby ein wenig programmiert.
Meine Quelltexte wird vermutlich niemand sehen =)

sebastian am 12.03.06 11:46

Das mein ich ja.

Aber wenn man sich mal was angewöhnt hat, ist es schwer das umzustellen. Und wenn man ein professionelles Niveau erreichen will, weil man damit mal Geld verdienen will, gehört sowas eben auch dazu

Thiemm Thiemm am 10.04.06 17:54

Ich schreib jetzt einfach mal in diesen Thread. Denke, das passt ganz gut ;)

Welche von den folgenden vier Funktionen sind zu bevorzugen?
include();
require();
include_once();
require_once();

Die Unterschiede sind mir bekannt. Was verwendet ihr und warum? In PEAR Klassen wird ja meisten require_once() benutzt. Außerdem habe ich gelesen, dass require() schnelle sein soll, weil es die Dateien im Gegensatz zu include() nicht vorher auswertet.

sili sili am 10.04.06 18:01

Die "Antwort" liefert PEAR gerade selber: http://pear.php.net
Geschwindigkeitsunterschiede sollte es eigentlich nicht geben:

Quote
The include() statement includes and evaluates the specified file.
The documentation below also applies to require(). The two constructs are identical in every way except how they handle failure. include() produces a Warning while require() results in a Fatal Error. In other words, use require() if you want a missing file to halt processing of the page. include() does not behave this way, the script will continue regardless.

http://php.benscom.com/include/

edit: Bei meinem kurzen Test konnte ich keine signifikanten Geschwindigkeitsunterschiede feststellen :)

Thiemm Thiemm am 10.04.06 18:04

Okay, danke :)

http://mac.ulrike-haessler.de/archives/2005/06/require_include.html

bastey bastey am 10.04.06 18:24

Ich schreibe nach phpBB Coding Standard.

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt