Tôi sử dụng bảng cấu hình có tên (config_name) và một giá trị (config_value). Tôi thậm chí còn thêm một trường trợ giúp để người dùng có thể xem cặp tên/giá trị được sử dụng cho mục đích gì hoặc nơi nó được sử dụng.
CREATE TABLE config (
config_id bigint unsigned NOT NULL auto_increment,
config_name varchar(128) NOT NULL,
config_value text NOT NULL,
config_help text COMMENT 'help',
PRIMARY KEY (config_id),
UNIQUE KEY ix_config_name (config_name),
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
Sau đó, mã php khôi phục giá trị cho khóa hoặc trả về một chuỗi trống. Giả sử $ db là một kết nối cơ sở dữ liệu mở. Tất cả các mục được buộc phải thấp hơn trường hợp.
function getConfigValue($name) {
$retval='';
$db = $this->db;
$sql = 'select config_value from config where LOWER(config_name)="'.strtolower($name).'"';
$result = $db->Query($sql);
if ($result) {
$row = $db->FetchAssoc($result);
$retval = $row['config_value'];
}
return $retval;
}
Tất cả mysql/php trong trường hợp này, nhưng nguyên tắc chung vẫn còn.
wouldn Đây có phải là tốt hơn để được xử lý bởi các lớp ứng dụng? Nó có thể chỉ là một tập tin văn bản duy nhất, nơi bạn có thể đọc/ghi cặp giá trị chính. Có lý do cụ thể nào để sử dụng cơ sở dữ liệu không? – cctan