Về cơ bản, một trong những câu hỏi lớn nhất mọi thời đại: một số cách bạn đang sử dụng settings.php trong quy trình phát triển / dàn dựng của bạn là gì?
Ngay bây giờ, tôi có tệp settings.php được thiết lập như sau và tôi dựa vào sự phát triển của mình trên chỉ thị $ HOST của máy chủ nghĩa là tôi có thể làm việc trên dev.example.com cho máy chủ phát triển (chia sẻ), local.example. com cho máy tính cục bộ của tôi (và kiểm tra mã địa phương của nhà phát triển khác) và www.example.com (hoặc chỉ example.com) cho trang web trực tiếp.
(Mã này nằm trong phần 'Cài đặt cơ sở dữ liệu' của 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;
}
?>
Điều này hoạt động khá tốt cho hầu hết các mục đích, nhưng điều đó có nghĩa là chúng ta có rất nhiều mã ngoại lai ngồi xung quanh trong tệp settings.php được chia sẻ của chúng ta ... có cách nào tốt hơn không?