私たちのアプリケーションには多くの構成ディレクティブがあります。「複数の言語が有効になっていますか?」など。または「どのCSSテンプレートを使用する必要がありますか?」または「1ページにいくつのアイテムを表示する必要がありますか?」。
構成ディレクティブをDBに保存する必要があります。現在、構成の「領域」ごとにテーブルがあり、テーブルには列の値を含む行が1つだけあります。このアプローチにより、値に制約を課すことができます(ENUM、INT、VARCHARなど)。ただし、新しい構成ディレクティブを追加する必要がある場合は、巨大なPITAであり、DBスキーマを更新して再デプロイする必要があります。また、多くのsetup_something
表で表スペースを汚染します。
私のアイデアは、テーブルをMySQLベースのKey-Valueストアに置き換えることでした(構成オプションがほとんどない共有ホスティングを使用しているため、NoSQLは使用できません)。一部の値はロケールまたは他の変数に依存する場合がありますが、フォールバックのようなもので解決できると思います(「lang:fr」で始まるキーを見つけ、見つからない場合は「lang:default」で始まるキーを試してください(常に準備してください)。
制約は、具体的なセットアップクラスを使用するPHPでのみチェックされますが、DBチェックはありません。
- これに対する既製のソリューションはありますか(Zend Frameworkでうまく機能することが望ましい)。
- このソリューションの落とし穴は何ですか(「行」全体を一度にフェッチできないこと、または一度に多数の行をフェッチできないことは明らかですが、これは問題ではありません)
- [使用したことがありますか|使用しますか]同様のソリューションまたはまったく異なるものですか?