Modulentwicklung - Bestpractices
Im Folgenden werden einige Best Practices für die Modulentwicklung vorgestellt. Grundsätzlich soll versucht werden, diese möglichst gut einzuhalten.
- Einige PHP Grundlagen
- Skalierbarkeit
- inc. Dateien
- Caching
Einige Programmierrichtlinien
Drupal ist in PHP geschrieben, daher muss man hier anfangen zu optimieren. Die Webseite PHP Benchmark gibt einige gute Vergleiche.
Benchmarks: Falls Unklarheit besteht, was schneller ist, lässt sich jederzeit ein kleiner Benchmark durchführen. Das geht sehr einfach:
<?php
$start = microtime();
// hier ist irgend ein Stück Code
$total = microtime() - $start;
print 'Das Stück Code hat ' . $total . 'Millisekunden gebraucht';
?>
Anführungszeichen: Wo immer möglich, sollten einfache Anführungszeichen eingesetzt werden.
Loop vs. komplizierte Abfrage: SQL Queries und der Aufruf von SQL Query generierenden Funktionen, nach möglichkeit nicht in Loops verpacken! Siehe das Beispiel.
Skalierbarkeit
Skalierbarkeit heisst, dass auch mit mehr Inhalt, die Seite nicht langsamer wird. Ein Zeichen für eine schlecht skalierende Seite:
1 Node auf der Seite - 100 Queries
2 Nodes auf der Seite - 110 Queries
3 Nodes auf der Seite - 120 Queries
usw...
Je mehr Nodes auf der Seite sind, desto langsamer wird sie dem zufolge. Hier müssen die Alarmglocken läuten. In manchen Fällen lässt es sich nicht verhindern, in vielen Fällen jedoch schon.
- Anmelden oder Registrieren um Kommentare zu schreiben
Sicherheit
am 17.01.2011 - 18:55 Uhr
Ich würde auch unbedingt noch Sicherheit
beifügen.
In einem Modul sollten Formulareingaben unbedingt
mit check_plain() geprüft werden.
LG
https://awri.ch
Ich habe eine Schweizer Tastatur und daher kein scharfes ß ;-)