Variables tables 有很多零碎的設定值
模組需要儲存的簡單資料可以很方便使用 system_settings_form() 的放到 variables
但有些情況之下將 variables 放到資料庫是不方便的
其中一個例子是測試環境和 production 不一樣的時候
deployment 完成之後還要再修改資料庫
步驟多, 又是人手操作, 錯誤便容易發生
例如 gmap 模組需要一個 Google map API key
而該 key 則是 google 根據 domain產生的
例如 uat.joetsuihk.com 和 www.joetsuihk.com 使用的 API key 便不一樣
我的解決方法是在 settings.php 設定 $conf 變數
那資料庫中的 variables 便會被覆寫
例如:
<?php
if($_SERVER['HTTP_HOST']=='uat.joetsuihk.com')
$conf['google_map_api'] = 'uat api key';
else
$conf['google_map_api'] = 'production api key';
?>
另一個方法是使用 strongarm 模組
配合 ctools 和 features
一樣可以將 variables 收進 version control