PHP Einem PHP-File ein anderen Datum vorgaukeln?

Dsimon24

Lieutenant
Registriert
Aug. 2016
Beiträge
595
Moin zusammen!

Ich versuche gerade eine Anpassung in einer nicht so gut programmierten WebApp vorzunehmen.

Dort wird bestimmt 80mal das aktuelle Datum verarbeitet. Gerne möchte ich diesen Variablen aber ein
anderen Datum vorgaukeln. Kann man das für ein gesamtes File per Befehl machen? Oder muss ich
in jeder Variable (ca. 2500 Zeilen Code) das andere Datum hinterlegen?

Es geht da um Statistiken aus den letzten 3 Monaten. Wenn ich das Datum von vor drei Monaten
eingebe, sind es Statistiken für die drei Monate zuvor - das wäre mein Ziel.

Das Datum wird per date('Y-m-d) abgefragt - ab und an auch mal mittels new DateTime();

VG,
 
Hi,

wieso wird das Datum nicht einfach an einer zentralen Stelle gesetzt und dann per Variable weiter genutzt, wenn es so oft vorkommt? Suchen/Ersetzen und fertig.

VG,
Mad
 
Ich würde so vorgehen: oben im Skript eine variable deklarieren, die du z.B. per Parameter befüllst. Dann im Code überall das date() oder new DateTime() mit der Variable austauschen.

Wenn du jetzt anfangst so Workarounds zu machen, hast du am Ende eine noch unschönere WebApp, statt etwas bessere.
 
Zentrale Stelle zum Abfragen des Datums.
Alle Aufrufe anpassen.
 
  • Gefällt mir
Reaktionen: netzgestaltung und BeBur
Du baust dir eine Service-Klasse, z.B. DateTimeService mit statischen Methoden, z.B. DateTimeService.today oder DateTimeService.now und fügst da dann eben natürlich das ein, was deinem Bedarf entspricht, z.B. DateTimeService.from_string(string) und nutzt dann eben nur noch diese Service Klasse um Zeit bezogene Inhalte zu erhalten.
Das hat den zusätzlichen Vorteil, dass du die Methode, woher du Uhrzeit und Datum überhaupt erhalten willst, also die Implementierung, bei Bedarf austauschen kannst. Ebenso erleichtert dies dein Leben, falls du eines Tages mal Tests schreiben willst.

2500 Zeilen sind ziemlich wenig, eine IDE zusammen mit ein ganz klein wenig regex - falls überhaupt - kann dir dabei helfen das suchen und ersetzen innerhalb von ein paar Minuten zu erledigen.
 
  • Gefällt mir
Reaktionen: tollertyp und e_Lap
Zurück
Oben