toscho.design

WordPress: Neue Konstanten für Zeiträume in 3.5

Ab WordPress 3.5 wird es fünf neue Konstanten für Zeitabschnitte geben, siehe Changeset 21996. Diese Konstanten stehen für Sekunden, sie werden als Integer definiert:

Konstante Sekunden
MINUTE_IN_SECONDS 60
HOUR_IN_SECONDS 3600
DAY_IN_SECONDS 86400
WEEK_IN_SECONDS 604800
YEAR_IN_SECONDS 31536000

Diese Konstanten kann man sicher leichter lesen und verstehen als die nackten Zahlen. Das ist ein Vorteil. Der Nachteil: Es wird nun vielleicht noch etwas schwieriger, WordPress gemeinsam mit anderen Scripten zu benutzen, denn die Konstanten wurden sehr allgemein benannt, und Kollisionen halte ich durchaus für möglich.

Den letzten Punkt möchte ich auch Plugin- und Theme-Entwicklern nochmal ins Gesicht drücken. Bitte setzt einen Präfix vor alles: Konstanten, globale Variablen (die ihr ohnehin nicht benutzen solltet), Funktionen, Klassen und Textdomains. Was immer schief gehen kann, wird irgendwann auch schiefgehen.

3 Kommentare

  1. Caspar am 30.09.2012 · 10:53

    Da hätte ich gleich mal eine Anschlussfrage zum Thema Präfixen: Manche Entwickler wickeln Ihre Plugins aus genau diesem Grund (Namensraum) prinzipiell in eine PHP-Klasse. Die bekommt dann ein eigenes Präfix, alles darin nicht. Würdest du so ein Vorgehen, auch auf dem Hintergrund des Artikelthemas, empfehlen?

  2. Thomas Scholz am 30.09.2012 · 15:47

    @Caspar: Nicht unbedingt. Man kann statt dessen auch eine Funktion mehrmals verwenden. Grob gesagt: Es kommt auf die Menge an. Im Idealfall benutzt man tatsächlich ein Objekt, nicht bloß einen Haufen statischer Methoden. Wenn ich fünf Funktionen schreibe, die alle am selben Job arbeiten, kann ich das durch Refactoring ja meistens auch erreichen.

    Ansonsten: Ja, als poor man’s namespace kann man das machen.

  3. Caspar am 30.09.2012 · 17:16

    @Thomas Scholz: Danke! (Der verlinkte Artikel ist übrigens auch sehr stimulierend, kommt gleich in die Rezeptekiste fürs nächste Theme…)