PHP CodeSniffer Hook für Mercurial
Klammersetzung in Klassen, Methoden und Conditions, Einrückungen mit Tabs oder Leerzeichen, Code-Dokumentation, usw"¦
Klammersetzung in Klassen, Methoden und Conditions, Einrückungen mit Tabs oder Leerzeichen, Code-Dokumentation, usw"¦
Das Szenario: Wir betreuen seit über 3 Jahren ein Partner-Portal. In diesem PHP-Projekt haben wir zuerst ohne Versionskontrolle, dann mit CVS (Concurrent Versions System), später mit SVN (Subversion) gearbeitet und sind mittlerweile bei Mercurial (Hg) angekommen. In diesem Projekt arbeiten wir auch mit einem externen Entwickler des Kunden zusammen und entwickeln parallel mehrere unterschiedlich komplexe Features. Eines davon ist beispielsweise die Anbindung von sofortüberweisung.de als Zahlungsart, wobei die Daten auch mit der DATEV-Software abgeglichen werden müssen.
Der erste Beitrag zum Thema configuration management hat sich mit der Dynamisierung der Konfiguration einer SilverStripe Installation beschäftigt. Als ich mich jetzt selbst noch näher mit dem Thema befasst habe, ist mir klar geworden, dass auch der Datenbankname dynamisiert werden muss. In der Datei conf/ConfigureFromEnv.php bin ich auf die Möglichkeit gestoßen, dem Datenbanknamen Präfixe oder Suffixe zu geben. Der Name lässt sich mit Bordmitteln nicht vollständig dynamisieren, das ist aber bei unserer Namenskonvention für Datenbanken auch nicht notwendig.
Für einen Präfix oder Suffix, der an den Datenbanknamen angefügt wird, muss man einfach nur folgende Konstanten in der _ss_environment.php definieren:
Veränderungen an einer bestehenden SilverStripe Applikation sollten immer erst getestet werden, bevor man sie auf den Server überträgt. Nichts kostet mehr Kundenvertrauen, als eine Webseite die plötzlich nicht mehr sauber funktioniert. Der Kunde oder Benutzer hat natürlich keine Einblicke hinter die Fassade einer Webseite. Deshalb können kleine Risse in der Fassade das Vertrauen in das ganze Haus erschüttern.
Getestet wird auf einem Staging-Server oder auf dem Localhost des Entwicklerrechners. Das Entwicklungssystem hat aus Gründen der Vorsicht eine eigene Datenbank.