2

簡単な質問 - いくつかのサイト変数を格納する最善の方法を決定しようとしています。設定を選択できる「コントロール パネル」タイプの機能をサイトに組み込みたいと考えています。設定はサイト全体に反映されます。

たとえば、販売している商品が 1 つあり、価格 (および価格を表示するための画像) があります。img src などを変更する代わりに、カスタム バックエンド ページからこのグローバル変数を設定できるようにしたいと考えています。

これを行う最善の方法は何ですか?最初はDBテーブルだと思っていましたが、少数のサイト変数のみにアクセスするのは遅い(っぽい)方法でしたか?ファイルについても考えましたが、値が変更された場合などに正しいビットを上書きする方法を考えていました.

あなたの専門知識を使用して、下に行く道をお勧めできますか(有利な方法があれば)、どうもありがとうございます!(他の誰かがYiiフレームワークも使用している場合、私はYiiフレームワークを使用しています)。

4

3 に答える 3

1

あなたの要件は私のものと非常に似ています。設定拡張機能 ( http://www.yiiframework.com/extension/settings/ )から着想を得て、アプリケーション全体で使用できる独自の設定 API を作成しました。これを参照してください https://github.com/xtranophilist/awecms/blob/f9bfc5a09bf050373b710ca15f6685ad8fea9fcd/protected/components/Settings.php get、set、および delete メソッドは非常に柔軟で、一括操作も実行できます。

自動タイプ検出もあり、設定値はバックエンド (管理モジュール) から管理できます。

于 2012-05-11T19:54:12.950 に答える
1

サイト変数をデータベースに保存することは悪い考えではありません。パフォーマンスが気になる場合は、memcachedを使用してこれらの値をキャッシュして、余分なデータベース ヒットを回避できます。使用シナリオに応じて、キャッシュされた値を適切に無効にするだけで済みます。

詳細については、次の記事を参照してください: PHP Performance Series: Caching Techniques .

于 2012-05-11T18:32:56.627 に答える
1

プロパティ (.ini) ファイルの使用を検討することをお勧めします。

この関数parse_ini_file(string $filename)は、.ini ファイルによって保存されたプロパティの配列を返します。

ただし、php には同梱の ini ファイルを書き込む機能がないため、独自のものを用意する必要があります。 これは、配列キーと値を指定されたパスのiniファイルに追加し、必要に応じて古いキー値を新しいものに置き換えますwrite_ini_file(array $assoc_arr, string $path)

于 2012-05-11T18:28:25.983 に答える