Was ich schon immer mal fragen wollte...

Eiszwerg

Erfahrenes Mitglied
N'Abend liebe Community,

ich weiss, ich weiss, der Titel kann aufregen, aber ich habe einfach ein paar gemixte Fragen, die ich wirklich gerne mal in den Raum schmeissen möchte.

1.
Sollte man für jede SQL-Abfrage einen DB-Connect herstellen und nach der Abfrage wieder schliessen, oder kann man bspw. in der index.php (in welcher die anderen Scripte includiert werden) einen connect herstellen und am Ende derselben diesen wieder schliessen?

2.
Wenn man bspw. auf der index.php (in welcher die anderen Scripte includiert werden) eine Abfrage über eine nicht unwesentlich große Tabelle laufen lässt, wie groß ist dann die Server-Last in etwa?
Beispiel: Community, 2000 User, bei jedem Aufruf der index.php eine Abfrage über die User-Tabelle

3.
Sollte man wirklich jede Zeile kommentieren oder nur diejenigen welche, die nicht 100%ig leicht zu lesen sind bzw. scriptspezifisch (verschachtelte Abfragen, Erklärung von Variablen etc)?

4.
Kennt jemand von Euch die Variante:
PHP:
$code = <<<BLOCK1 
here-some-html-code-mit-$variablen
BLOCK1;
echo $code;
Wenn ja, wie sind die Erfahrungen damit?

5.
Sollte man ein Formular und dessen Abarbeitungs-Script in eine Datei schreiben oder lieber in 2; also formular.html und auswertung.php? Oder macht ihr persönlich das von dem Ausmaß abhängig?

Ich danke für Eure Aufmerksamkeit und hoffe, dass ich mit diesem Thread nicht gegen irgendwelche Regeln verstossen habe.

Ach ja, auf Antworten und Meinungen bin ich natürlich auch gespannt :-)
 
Zuletzt bearbeitet:
Eiszwerg hat gesagt.:
1.
Sollte man für jede SQL-Abfrage einen DB-Connect herstellen und nach der Abfrage wieder schliessen, oder kann man bspw. in der index.php (in welcher die anderen Scripte includiert werden) einen connect herstellen und am Ende derselben diesen wieder schliessen?
Jedes mal eine eigene Connection herzustellen halte ich für ziemlich sinnlos. Außerdem werden Scripts dadurch auch etwas langsamer!
Eiszwerg hat gesagt.:
2.
Wenn man bspw. auf der index.php (in welcher die anderen Scripte includiert werden) eine Abfrage über eine nicht unwesentlich große Tabelle laufen lässt, wie groß ist dann die Server-Last in etwa?
Beispiel: Community, 2000 User, bei jedem Aufruf der index.php eine Abfrage über die User-Tabelle
Wenn nur die 2000-Zeilen lange Tabelle durchlaufen wird, ist das bei einem normalen Server unkritisch.
Eiszwerg hat gesagt.:
3.
Sollte man wirklich jede Zeile kommentieren oder nur diejenigen welche, die nicht 100%ig leicht zu lesen sind bzw. scriptspezifisch (verschachtelte Abfragen, Erklärung von Variablen etc)?
Ein klares nein hierzu. Kommentiert muss nur werden, was schwierig zu lesen ist.
Funktionen, Variablen, aber auch Klassen, Methoden und Attribute sollten jedoch immer kommentiert werden, Außnahme "unwichtige" Variablen, z.B. Zählvariablen.
Eiszwerg hat gesagt.:
4.
Kennt jemand von Euch die Variante:
PHP:
echo <<<CODE 
here-some-html-code-mit-$variablen
>>>
echo $CODE;
Wenn ja, wie sind die Erfahrungen damit?
Diese Methode benutze ich nicht, ich bevorzuge Templates. Deshalb kann ich dir hierzu keine Auskunft geben.
Eiszwerg hat gesagt.:
5.
Sollte man ein Formular und dessen Abarbeitungs-Script in eine Datei schreiben oder lieber in 2; also formular.html und auswertung.php? Oder macht ihr persönlich das von dem Ausmaß abhängig?
Das ist völlig egal, ich bevorzuge allerdings alles in eine Datei zu schreiben, weil meine Formulare meistens dynamisch sind.

Ich hoffe ich konnte dir helfen!
 
Eiszwerg hat gesagt.:
N'Abend liebe Community,

ich weiss, ich weiss, der Titel kann aufregen, aber ich habe einfach ein paar gemixte Fragen, die ich wirklich gerne mal in den Raum schmeissen möchte.

1.
Sollte man für jede SQL-Abfrage einen DB-Connect herstellen und nach der Abfrage wieder schliessen, oder kann man bspw. in der index.php (in welcher die anderen Scripte includiert werden) einen connect herstellen und am Ende derselben diesen wieder schliessen?

2.
Wenn man bspw. auf der index.php (in welcher die anderen Scripte includiert werden) eine Abfrage über eine nicht unwesentlich große Tabelle laufen lässt, wie groß ist dann die Server-Last in etwa?
Beispiel: Community, 2000 User, bei jedem Aufruf der index.php eine Abfrage über die User-Tabelle

3.
Sollte man wirklich jede Zeile kommentieren oder nur diejenigen welche, die nicht 100%ig leicht zu lesen sind bzw. scriptspezifisch (verschachtelte Abfragen, Erklärung von Variablen etc)?

4.
Kennt jemand von Euch die Variante:
PHP:
$code = <<<BLOCK1 
here-some-html-code-mit-$variablen
BLOCK1;
echo $code;
Wenn ja, wie sind die Erfahrungen damit?

5.
Sollte man ein Formular und dessen Abarbeitungs-Script in eine Datei schreiben oder lieber in 2; also formular.html und auswertung.php? Oder macht ihr persönlich das von dem Ausmaß abhängig?

Ich danke für Eure Aufmerksamkeit und hoffe, dass ich mit diesem Thread nicht gegen irgendwelche Regeln verstossen habe.

Ach ja, auf Antworten und Meinungen bin ich natürlich auch gespannt :-)
Zu 1: Ich bin da der Meinung, dass am Anfang der index.php die Verbindung aufgebaut und am Ende wieder geschlossen wird. Der Grund: Das spart Overhead beim Verbindungsaufbau.

Zu 2 kann ich Dir leider nichts sagen.

Zu 3 halt ich mich mal zurueck da ich ehrlich gesagt kein Freund des gepflegten Kommentars bin. Da bin ich irgendwie zu faul fuer. ;)

Zu 4 kann ich Dir nichts sagen weil ich es nicht nutze.

Zu 5: Ich hab alles in einem Script, das Formular und alles was damit zu tun hat. Also Eingabe, Ausgabe, Editierung und Loeschen. So ist z.B. meine links.php fuer alles um die Links zustaendig.
 
Hallo!

zu 1:
php.net hat gesagt.:
Die Verwendung von mysql_close() ist für gewöhnlich nicht notwendig, weil offene, nicht persistente Verbindungen automatisch mit Beendigung des PHP-Skripts geschlossen werden. Siehe auch Freigabe von Resourcen.
mysql_close() lohnt sich also nur wenn z.b. zuerst eine Datenbankverbindung aufgebaut wird um kurz was auszulesen..... anschlissend werden z.b. Bilder generiert (was ja etwas mehr Zeit in Anspruch nehmen könnte)..... und anschliessend z.b. die Pfade in der Datenbank gespeichert werden sollen.
Ist also ein grosser Abstand zwischen den einzelnen Querys, kann es sich evtl. lohnen die Datenbankverbindung zwischenzeitlich zu trennen..... wie oben halt schon steht "für gewöhnlich nicht"..... und Ausnahmen bestätigen die Regel. ;)

zu 2: Kann ich nichts zu sagen..... so viele Freunde habe ich nicht. ;)
Und andere lasse ich nicht auf meinen Server :p

zu 3: Kommente sind eigentlich nur dann sinnvoll, wenn man anderen damit etwas erklären will oder wenn häufig Änderungen vorgenommen werden.
Bei grossen Projekten sollte man auch die wesentlichen Dinge kommentieren.

zu 4: Ja, aber nur vom sehen..... den Nutzen und/oder Funktion kann ich Dir also nicht erklären.

zu 5: Hängt eher vom Umfang ab..... ggf. sollte man dann aber auch auf OOP umsteigen.
Es dürfte halt wenig Sinn machen z.b. 20.000 Zeilen Code in eine Datei zu quetschen. :-)

Zum Schluss: Ich denke nicht dass Du gegen irgendwelche Regeln verstossen hast..... ausser dass der Thread evtl. im Smal-Talk besser aufgehoben währe.
Aber dass entscheiden die Mods und verschieben ihn dann ggf.

Gruss Dr Dau
 
zu 4.

Das(nennt sich HEREDOC) ist ganz praktisch, wenn man längere Passagen hat, weil man mit den Quotes kein Problem hat... Templates sind aber sinnvoller, wie ich finde.

Ich glaube auch, dass dies mittlerweile "deprecated" ist...also nicht mehr verwendet werden sollte.
 
Also zum Thema Kommentare: Ich finde, wenn das Script gut und übersichtlich geschrieben ist und die Variablen logisch benannt sind, braucht es gar keine Kommentare. Vielleicht mal in einem kurzen Satz zu unverständlichen Code-Abschnitten, was die eigentlich machen und die wichtigsten Variablem beim ersten Auftauchen mit ein paar Worte beschreiben, aber das ist das schon das Äußerste. Mich persönlich nerven Kommentare ziemlich.
 
Wow... da kommt ja richtig was zusammen.

Was mich speziell an den Heredoc'S interessiert hat ist einfach, dass ich hier nen aktuelles (2 Monate alt) Buch über php liegen habe, welches diese Methode benutzt O_o
 
Ich finde Kommentare hilfreich, wenn sie intelligent eingesetzt sind. Jeden kleinsten Schritt eines Ablaufs zu kommentieren, ist einfach nur überflüssig und stört eher. Aber bei Funktionen oder komplizierten Abschnitten, dessen Funktionsweise nicht klar ersichtlich sind, können Kommentare durchaus sehr nützlich sein.
 
Ich persönlich kommentiere in größeren Quellcodepassagen meist so:
  • Längeren logischen Einheiten wird z.B. folgendes vorangestellt:
PHP:
/**
 * Initialize Session Handling
 */
Das schafft schon mal einen groben Überblick über den Aufbau eines Skripts.
  • Bei komplexeren Abläufen kommen dann Zeilenkommentare zum Einsatz, und zwar vor der/den jeweiligen Zeile/n. Bei einem if- oder else-Block kommt bspw. bei Bedarf direkt in der Zeile nach der öffnenden Klammer ein Kommentar, warum wir uns jetzt in diesem Block befinden (z.B. // We got a perfectly valid session ID)
  • Funktionen, Methoden, Klassen werden von mir nach den Vorgaben von phpDocumentor kommentiert.
  • Oft unterschätzt wird die Möglichkeit, ohne Kommentare zu kommentieren. Wie das gehen soll? Ganz einfach: aussagekräftige Variablen-, Funktions- und Methodennamen verwenden, die Kommentare teilweise überflüssig machen. Buchstabenvariablen sind z.B. ein großes Tabu, es sei denn es handelt sich nur um eine Zählvariable für eine kleine Schleife.
Das sind so die Grundregeln, bei denen ich nach einigen rumprobieren (und anfänglichem Kommentarverzicht – bereut man spätestens, wenn man ein Jahr später was bestimmtes ändern will ;)) gelandet bin. Das soll jetzt aber natürlich nur ein Beispiel sein, wie man es machen könnte. Einen eigenen Kommentarstil sollte man sich dann schon selbst aneignen. Man sollte nur zumindest innerhalb eines Projektes konsistent bleiben und sich bei Teamarbeit auf gewisse Standards einigen.
 
Zurück