En gros, l’une des plus grandes questions de tous les temps: comment utilisez-vous settings.php dans votre flux de travail de développement / staging?
À l'heure actuelle, j'ai le fichier settings.php configuré comme suit et je base mon développement sur la directive $ HOST du serveur, ce qui signifie que je peux travailler sur dev.example.com pour le serveur de développement (partagé), local.example. com pour mon ordinateur local (et les extractions de code local des autres développeurs), et www.example.com (ou tout simplement exemple.com) pour le site actif.
(Ce code se trouve dans la section "Paramètres de base de données" de settings.php):
$host = $_SERVER['HTTP_HOST'];
$base_url = 'http://'.$host;
$cookie_domain = $host;
switch($host) {
case 'example.com': # Production server
$db_url = 'mysqli://prod_sql_user:password@127.0.0.1/prod_db';
$update_free_access = FALSE;
$conf = array (
// Set production config options here...
'example_setting' => 0,
);
break;
case 'dev.example.com': # Development server
$db_url = 'mysqli://dev_sql_user:password@127.0.0.1/dev_db';
$update_free_access = FALSE;
$conf = array (
// Set production config options here...
'example_setting' => 0,
);
break;
case 'local.example.com': # Local server
$db_url = 'mysqli://local_sql_user:password@127.0.0.1/local_db';
$update_free_access = FALSE;
$conf = array (
// Set production config options here...
'example_setting' => 0,
// Turn off most core caching.
'cache_inc' => 'includes/cache.inc',
'cache' => CACHE_DISABLED,
);
break;
}
?>
Cela fonctionne plutôt bien dans la plupart des cas, mais cela signifie que nous avons beaucoup de code étranger dans notre fichier settings.php partagé ... existe-t-il un meilleur moyen?