Rolf B: Best Practice beim Laden von Variablen

Beitrag lesen

Hallo Kerstin,

wenn Du eine Webseite erstellst, hast Du zumindest zwei Webs: Entwicklung und Betrieb (Produktion). Für größere Projekte kommen gerne auch noch Fachtest und Abnahmetet hinzu. Vielleicht auch noch eine Hotfix-Umgebung - da kann man beliebig kreativ werden.

Die Aufgabe einer Deployment-Toolchain ist es, die von den Entwicklern gebildeten Änderungspakete auf die richtigen Webs zu verteilen. Dafür gibt es unterschiedliche Konzepte und Tools, darauf will ich jetzt gar nicht eingehen. Vermutlich ist es für Dich ohnehin zu groß.

Im einfachsten Fall besteht der Deployprozess darin, alle geänderten Dateien des Entwicklungs-Webs ins Produktionsweb zu kopieren. Das kann eine manuelle Tätigkeit sein (FTP Upload) oder ein Script, das das automatisiert.

Eine Verfeinerung ist eine Sourcecode-Verwaltung wie GIT. Da kannst Du sagen: Ich checke diese und jede Änderung ein, und ich sorge mit GIT dafür, dass Änderungspakete von einer Stufe zur anderen kommen. Das gibt Nachvollziehbarkeit und auch die Möglickeit, Änderungen zurückzunehmen (Backout).

Eine andere Verfeinerung sind Scripte, die beim Deployment automatisch anlaufen. Ein solches Script könnte z.B. 7 PHP Dateien mit define Anweisungen darin einlesen und eine große Datei daraus erzeugen. In der Entwicklung hättest Du dann die 7 Teildateien und in Produktion die eine große Datei.

Aber ganz ehrlich - das bringt nicht viel. Wenn Du einen FastCGI Server verwendest, wird geladener PHP Code gecached und es ist dann beinahe egal, ob das erste Laden aus einer, sieben oder siebenundsiebzig Dateien erfolgt.

Interessanter ist die Frage nach der logischen Organisation deiner Konstanten und ihre Abhängigkeit von Funktionen, die Du programmiert hast. Wenn Referenzen auf große Arrays tatsächlich durch das ganze Programm verteilt sind, müsste man fragen, ob hier nicht eine Klasse angebracht ist, die diese Arrays kapselt und die Zugriffe darauf als Methoden bereitstellt.

Rolf

--
sumpsi - posui - clusi