Pada dasarnya, salah satu pertanyaan terbesar sepanjang masa: Apa saja cara Anda menggunakan settings.php dalam alur kerja pengembangan / pementasan Anda?
Saat ini, saya mengatur file setting.php saya seperti berikut, dan saya mendasarkan pengembangan saya pada direktif $ HOST server — artinya saya dapat bekerja di dev.example.com untuk server pengembangan (dibagi), local.example. com untuk komputer lokal saya (dan checkout kode lokal dev lainnya), dan www.example.com (atau hanya example.com) untuk situs langsung.
(Kode ini ada di bagian 'Pengaturan basis data' pada 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;
}
?>
Ini berfungsi cukup baik untuk sebagian besar tujuan, tetapi itu berarti kita memiliki banyak kode asing yang terdapat di file shared.php yang kita bagikan ... apakah ada cara yang lebih baik?