İsim (config_name) ve bir değer (config_value) olan bir yapılandırma tablosu kullanıyorum. Kullanıcıların ad/değer çiftinin ne amaçla tasarlandığını ya da nerede kullanıldığını görebilmesi için bir yardım alanı bile ekliyorum.
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;
Ardından php kodunu takip etmek, bir tuşun değerini kurtarır veya boş bir dize döndürür. Varsayalım $ db açık bir veritabanı bağlantısıdır. Tüm girişler küçük harfe zorlanır.
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;
}
Bu örnekte tüm mysql/php, ancak genel ilke kalır.
olmazdı olacak sırf tekrar
select * from myConfigView
:)ama, bir masa kullanmamaya hiçbir sebep
ve yapın: Böyle bir sabit kodlanmış görünüm oluşturabilirsiniz Bu uygulama katmanı tarafından ele alınması daha iyi olur mu? Anahtar değer çiftlerini okuyabileceğiniz/yazabileceğiniz yalnızca tek bir metin dosyası olabilir. Veritabanlarını kullanmak için belirli bir neden var mı? – cctan