Я использую таблицу конфигурации с именем (config_name) и значением (config_value). Я даже добавил поле справки, чтобы пользователи могли видеть, для чего предназначена пара имя / значение или где она используется.
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;
Затем следующий php-код восстанавливает значение ключа или возвращает пустую строку. Предполагается, что $ db является открытым подключением к базе данных. Все записи должны быть в нижнем регистре.
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;
}
Все mysql / php в этом случае, но общий принцип остается.