Das Bereitstellen von Konfigurationen in Abhängigkeit von der Umgebung ist eine ziemlich häufige Aufgabe, und es gibt einige andere Möglichkeiten, dies zu handhaben.
Umgebungsvariablen
Falls die Umgebung es zulässt, können Sie Umgebungsvariablen verwenden. Sie können die DB-Konfiguration einfach über die DATABASE_URL
bereitstellen Variable in Form einer DSN-Verbindungszeichenfolge wie
mysql://user:[email protected]/production?encoding=utf8&timezone=UTC&cacheMetadata=true
Kochbuch> Konfiguration> Umgebungsvariablen
Zusätzliche Konfigurationsdateien
Eine weitere Möglichkeit besteht darin, separate/zusätzliche Konfigurationsdateien basierend auf der aktuellen Umgebung zu laden, sodass Sie nur die Dateien bereitstellen können, die tatsächlich für eine bestimmte Umgebung benötigt werden.
Configure::load('app', 'default', false);
// $enviroment needs to be validated /sanitzied in order to
// avoid loading arbitrary files from the config directory
Configure::load($enviroment, 'default', true);
Cookbook> Configuration> Loading Additional Konfigurationsdateien
Verbindungs-Aliasing
Und es gibt auch Verbindungs-Aliasing, CakePHP macht das automatisch in der Testumgebung. Angenommen, Sie haben einen default
und eine production
Konfiguration könnten Sie dann production
aliasieren Verbindung als default
in Ihrer Produktionsumgebung, sodass Ihr Code überall versucht, den default
zu verwenden Verbindung, es wird tatsächlich die production
verwendet eins.
\Cake\DataSource\ConnectionManager::alias('production', 'default');
API> \Cake\DataSource\ConnectionManager::alias()