Translations

Translations:Development Best Practices/3/de

From Joomla! Documentation

  • Die Konstante DS oder DIRECTORY_SEPARATOR darf beim Einbinden von Dateien nicht verwendet werden. Sie wird nicht mehr benötigt, wie von Christian auf php.net beschrieben.
  • Die Funktion register_globals sollte nicht verwendet werden. Dies stellt ein Hohes Sicherheitsrisiko dar. Die Funktion wurde in PHP 5.3 als veraltet eingestuft und in 5.4 entfernt.
  • Keinen direkten Zugriff auf die Superglobalen $_GET, $_POST, $_REQUEST, $_FILES und $_SERVER ermöglichen. Alternativ kann stattdessen JInput (typischerweise: JFactory::getApplication()->input) benutzt werden. JInput filtert die Eingabe und hilft dabei, leichter sichere Software zu entwerfen.
  • Die SQL-Abfragen sollten nicht hardcodiert und Rohdaten müssen escapet in die Abfragen eingebunden werden. Immer mit JDatabase / JDatabaseQuery arbeiten. Es ist so einfach wie JFactory::getDbo()->getQuery(true).
  • Keine willkürlichen Einstiegspunkte benutzen, beispielsweise .php-Dateien, die von außerhalb der Joomla!-Installation und direkt aus dem Internet erreichbar sein müssen, . Diese Praxis, die typischerweise für Zahlungsabwickler und Bildoptimierer verwendet wird, ist extrem unsicher und wird ausdrücklich abgelehnt. Statt dessen sollte eine Joomla!-Komponente oder ein System-Plugin eingesetzt werden.
  • Nicht das Rad neu erfinden! Wenn es für eine Aufgabe bereits eine Joomla!-Klasse gibt, sollte man sie benutzen, bevor man seine eigene entwickelt. Die Chancen stehen gut, dass die Kernklasse bereits gut genug und viel besser getestet ist.
  • Für die Tabellennamen sollten sinnvolle Präfixe gewählt werden. Wenn die Komponente com_foobar heißt, liegt es nahe, dass die Tabellen dem gleichen Namensschema folgen:

<source lang="sql" style="margin-left:3em;">

// Gut
#__foobar_something