Bonjour à tous,
Je suis en train de débuter un nouveau projet et je vais avoir 2 ou 3 environnements (DEV, QA(Quality Assurance), PROD).

Après quelque recherche sur internet il y a des solutions, mais je voulais savoir selont vous quel est le meilleur moyen d'avoir plusieurs fichier de configuration par environnement.

EX:
app.php >> DEV
app.qa.php >> QA
app.prod.php >> PROD

Merci de votre aide!

3 réponses


ReBonjour,
Voici la solution que j'ai trouvée pour le moment.

config/bootstrap.php en début de fichier

/**
 * Définition de l'environnement
 */
$__env = "_local";
if(isset($_SERVER['SERVER_NAME'])){
    switch($_SERVER['SERVER_NAME']){
        case 'perdu.com': $__env = "_prod"; break;
        case 'xxx.perdu.com': $__env = "_dev";  break;
        case 'localhost':
        case '127.0.0.1': $__env = "_local"; break;
    }
}
define("ENV", $__env);

Dans le même fichier j'ai changer la ligne

Configure::load('app', 'default', false);

par

Configure::load('app'.$__env, 'default', false);

Suivant le cas on va charger le fichier app_dev, app_qa, app_prod :)

Si vous avez des idées pour amiliorer ou si ça peut être utilile à une autre personne

Jpense que c'est une bonne piste

Est-ce que tu aurais un idée pour pouvoir ajouter "--env=qa" quand on utilise "bin/cake ..." Parce-que en ligne de commande le SERVER_NAME ne marches pas j'ai pensée au server ip au lieux du "--env" mais je trouve sa moins pratique.

Merci
Envoyé depuis mon Android