Может ли кто-нибудь порекомендовать наилучшую практику для хранения общих настроек сайта? Например, заголовок страницы по умолчанию, если сценарий его не задает, или количество избранных элементов, отображаемых в поле содержимого, или список размеров эскизов, которые система должна создавать при загрузке изображения. Централизация этих значений имеет очевидное преимущество, поскольку позволяет легко изменять настройки, которые могут использоваться на многих страницах.
Мой подход по умолчанию заключался в том, чтобы поместить эти настройки в виде пар атрибут/значение в таблицу *gulp* EAV.
Эта таблица вряд ли когда-нибудь станет значительного размера, поэтому я не слишком беспокоюсь о производительности. Остальная часть моей схемы является реляционной. Однако это делает некоторые чертовски уродливые запросы:
$sql = "SELECT name, value FROM preferences"
. " WHERE name = 'picture_sizes'"
. " OR name = 'num_picture_fields'"
. " OR name = 'server_path_to_http'"
. " OR name = 'picture_directory'";
$query = mysql_query($sql);
if(!$query) {
echo "Oops! ".mysql_error();
}
while($results = mysql_fetch_assoc($query)) {
$pref[$results['name']] = $results['value'];
}
Может ли кто-нибудь предложить лучший подход?