2012-04-21 14 views
0

Codeigniterフレームワークを使用して私の新しいウェブサイトを開発しています。重要なのは、私は管理パネルで構成可能なほとんどのものを持っていたいと思っています。設定データの保存 - どちらの方法ですか?

私はデータを保存することについて多くの経験を持っていないので、どのようにすればよいでしょうか?PHP設定ファイルまたはMySQLテーブル?

非常に多くの設定があるので、私はできるだけ早くアクセスしたいと思います:例えばMVCのモデルを使っていますが、私はヘルパーと同じことをすることはできません設定ファイル)...だから、どれがどのようになるかによってアクセスが速く、更新する方が良い。私の意見では、MySQLはこれにはより良い選択となるでしょう。私が必要とするのはちょっとした質問ですからです。しかし、あなたの意見に耳を傾けます。ほとんどの人がこの種のものに関連する素晴らしい経験をしています。

+1

)1つのWebサイト、CodeIgniter設定(またはMediaWiki、Bugzilla、その他のフレームワーク設定) - 私は "local .ini"に投票します。 2)アプリケーションごとに、ユーザーごとの構成/設定:データベース。 3)マルチサイト構成の場合:データベース。私見では... – paulsm4

答えて

3

私はアプリケーションがどのように設定されているかに依存すると思います。実行するインスタンス数(スケールアウトの場合)と値の変更の予想頻度。

大きなproには、すべてのインスタンスにわたって構成データの一貫したマスターがあります。 1か所で変更して、すべてのインスタンスがそれを取得します。これは、アプリケーションの再デプロイメントと比較して、ランタイム中に変更することもできます。 conは、構成データをデータベースから取得する余分な複雑さです(最初にサーバーを設定することはあまりありません)。もう1つの障害の原因です。

一方、値を頻繁に変更する必要がない場合や、単一のサーバーしか持たない場合は、構成ファイルを使用する方が簡単です。欠点は、複数のサーバーを持つ場合で、数十台または数百台のサーバーに構成ファイルを展開および管理することに苦労します。

3

これは依存していますか?それにはユーザーインターフェイスが必要ですか?そうした場合は、データベースに格納します。さもなければ、は間違いなくをPHP構成ファイルに格納します。利点があります。

  • それはだ速く
  • それは簡単だ
  • それはしかし、あなたがよ、あなたが設定のための管理パネルのいくつかの種類を作っている場合

を変更するには、実際に簡単ですPHPでPHPの設定ファイルを更新することは、通常、難しく、悪い考えであるため、データベースに格納したいと考えています。

2

MySQLデータベースを使用することは、データの柔軟なデータを格納するための方法です。さらに、Codeigniterのアクティブなレコードライブラリ(http://codeigniter.com/user_guide/database/active_record.html)により、MySQLデータベースを扱うのがずっと簡単になります。いくつかのデータだけを保存する必要がある場合は、PHP設定ファイルが適切な解決策になりますが、管理パネルを構築する場合は、間違いなくMySQLデータベースを使用してください。

2

codeigniterには適切な構成メカニズムがあります。すべての設定をapplication/config/config.phpファイルに置くことができます。codeigniterフレームワークは、コードを最も効率的にコードに提供します。

設定は、今後ユーザー/管理者が管理すると思われる場合はデータベースに配置する必要があります。データベースへのすべての旅行にはコストがかかることに注意してください。値をキャッシュすることでそのコストをカバーすることができますが、本当に必要な場合は、カスタム構成ソリューションのために行くことができます。

関連する問題