Als Umgehungslösung für die verschiedenen oben genannten Probleme - Schwierigkeit der Codewartung, Versionskontrolle, Fehlersuche - haben Sie diese leicht "kluge" Möglichkeit:
Erstellen Sie Funktionen (benennen Sie sie sorgfältig, je nachdem, was sie tun) in einer Datei, die immer enthalten ist. Wenn Sie ein benutzerdefiniertes Modul für die Site haben, können Sie diese Funktionen hier platzieren. Das PHP, das Sie dann eingeben, ist einfach: return my_specialfunc($somevar);
- $somevar
Hier ist möglicherweise das Knotenobjekt, an dem gearbeitet wird, oder welche anderen Variablen hier relevant sind.
Ich finde, dass ich in der Regel immer noch die Flexibilität möchte, meinen eigenen Code an einigen Stellen aufzurufen. Bei dieser Technik ist die Pflege des Codes einfach, da lediglich die Funktion in der Datei geändert werden muss. Das Erkennen von Fehlern ist einfach, da die Funktion in einer Rückverfolgung angezeigt wird.
Beachten Sie jedoch, dass dies die potenziellen Sicherheitsprobleme nicht löst. Diese hängen weitgehend von der Sicherheit des Drupal-Kerns ab. Im Allgemeinen ist datenbankbasierter Code häufig ein Sicherheitsrisiko - Funktionalitäten, die datenbankbasierten Code verwenden, sind in der Regel viel anfälliger für Ausnutzung, und die Sicherheit in ihrer Umgebung muss besonders streng sein. Drupal war jedoch im Allgemeinen recht gut darin, die Sicherheit für diese Probleme aufrechtzuerhalten - sie sind aufgetreten und wurden dann schnell mit neuen Releases gepatcht / behoben.