一般的なサイト設定を保存するためのベスト プラクティスを推奨できる人はいますか? たとえば、スクリプトでページ タイトルが設定されていない場合のデフォルトのページ タイトル、コンテンツ ボックスに表示されるおすすめのアイテムの数、または画像がアップロードされたときにシステムが作成するサムネイル サイズのリストなどです。これらの値を一元化することには、多くのページで使用される可能性のある設定を簡単に変更できるという明らかな利点があります。
私のデフォルトのアプローチは、これらのプリファレンスを属性/値のペアとして *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'];
}
誰でもより良いアプローチを提案できますか?