Fondamentalmente, una delle più grandi domande di tutti i tempi: quali sono alcuni modi in cui usi settings.php nel tuo flusso di lavoro di sviluppo / gestione temporanea?
In questo momento, ho il mio file settings.php impostato come segue e baso il mio sviluppo sulla direttiva $ HOST del server, il che significa che posso lavorare su dev.example.com per il server di sviluppo (condiviso), local.example. com per il mio computer locale (e altri checkout del codice locale di sviluppo) e www.example.com (o solo example.com) per il sito live.
(Questo codice si trova nella sezione "Impostazioni database" di 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;
}
?>
Funziona abbastanza bene per la maggior parte degli scopi, ma significa che abbiamo un sacco di codice estraneo nel nostro file settings.php condiviso ... c'è un modo migliore?