Vermeiden, dass Sprachvariable aus Versehen überschrieben wird

In diesem Forum gibt es Starthilfe zum neuen Extension-System von phpBB 3.1/3.2. Fragen zur Entwicklung von Extensions und zur Konvertierung von phpBB 3.0.x MODs sind ebenfalls willkommen.
Antworten
mbld
Mitglied
Beiträge: 30
Registriert: 18.10.2016 16:59

Vermeiden, dass Sprachvariable aus Versehen überschrieben wird

Beitrag von mbld »

Ich habe in meiner Extension in common.php die Sprachvariable LAST_POST definiert, und dabei nicht beachtet, dass diese auch im Core schon definiert ist und durch meine Extension mit einem Text überschrieben wird, der im Core nicht wirklich passend ist.
Wie kann ich denn vermeiden, dass ich aus versehen die gleichen Variablen benutze wie der Core?
Geht das nur, indem ich vor jede Variable einen Prefix setze, der hoffentlich sonst nirgends genutzt wird?
Oder gibt es andere "best practices"?
Benutzeravatar
Kirk
Supporter
Supporter
Beiträge: 7874
Registriert: 24.05.2010 08:31
Kontaktdaten:

Re: Vermeiden, dass Sprachvariable aus Versehen überschrieben wird

Beitrag von Kirk »

Hallo
Um dies zu vermeiden müsstest du eine eigene Sprachvariable definieren, wie du bereits erwähnt hast z. B. durch ein vorangestellten Präfix.
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2125
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: Vermeiden, dass Sprachvariable aus Versehen überschrieben wird

Beitrag von LukeWCS »

Hallo

Es gibt im phpBB Umfeld mehrere globale Namensräume wo es zu Kollisionen kommen kann. Zu Variablen mit globalem Namensraum gehören zum Beispiel Sprachvariablen. Dazu gehören übrigens auch Config Variablen (DB) und Template Variablen.
mbld hat geschrieben: 18.02.2023 10:11 Oder gibt es andere "best practices"?
Jupp, wie Kollege Kirk schon schrieb: Präfix nutzen.
Geht das nur, indem ich vor jede Variable einen Prefix setze, der hoffentlich sonst nirgends genutzt wird?
Best practice wäre hier einen Kurznamen der Ext als Präfix zu nutzen. Bei meinem "LF who was here" benutze ich zum Beispiel das Präfix LFWWH_. Wenn du weitere Beispiele brauchst, guck dir meine Erweiterungen an die ich im Forum "Extensions in Entwicklung" habe. Da findest du für so gut wie jeden Variablen-Bereich Beispiele. Ebenfalls "Best practice" wäre dann das konsequent zu nutzen. Also nicht nur für ein paar Variablen, sondern für alle die man selber definiert.

Wir haben bei phpBB keine "isolierten" Bereiche, sondern einen riesigen gemeinsamen Pool an zig verschiedenen Variablen-Bereichen. Dadurch haben Ext Coder weitreichende Möglichkeiten. Und das müssen sie auch haben, da sonst vieles gar nicht realisierbar wäre. Das heisst aber auch, dass man seine Ext immer so gestalten muss, dass es mit anderen Exts und phpBB nicht zu Kollisionen kommen kann.
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
Antworten

Zurück zu „Extension Bastelstube“