1
  1. ファイルに定数を定義してから含めるか、または

  2. それらをDBに保存し、シードすることができます。

あなたの経験から、たとえば、数十、数百、数千のリソースが定義されている場合、どちらがより良い/より速い/より少ないリソースになりますか?

4

2 に答える 2

3

これは常に存在する質問であり、人によって異なり、少しバランスをとる行為です. 私にとって、それはすべて、データセットがどれだけ大きく静的であると推定されるかにかかっています。私のアプリケーションでは、データベースからデータを取得するためにすべてのオーバーヘッドを処理するのではなく、定数を参照するコード ポイントが約 10 あります。

定数を使用するもう 1 つの利点は、コードベース全体で定数を参照できることです。これにより、欠陥が減り、セマンティクスが改善されます。次に例を示します。

class Ad
{
    const ID_AD_TYPE_BANNER = 1;
    const ID_AD_TYPE_SKYSCRAPER = 2;
}

// Somewhere in app
if (array_key_exists(Ad::ID_AD_TYPE_BANNER, $array)) {

ただし、うーん、いくつかの欠点がありますか?回避するのは難しくないので、欠点と呼ぶのをためらっています。まず、定数が int であり、アプリケーションがこれらの定数をテーブルに入力する場合、「ルックアップ」テーブルに結合して、ルックアップ値をクエリ結果の一部として表示することはできません。1代わりに、id ofがクエリで何を意味するかを知る必要があります。

次に、定数を常識的な場所に配置し、可能であれば名前空間を試してください。そうすれば、値が何であるかを忘れてしまった場合でも、値を簡単に見つけることができます。賢い IDE をお持ちの場合は、これが自動的に行われます。また、定数が変更された場合は、データベース データを直接操作するのではなく、コード プッシュを実行する必要があることも知っておいてください。

リストが比較的小さく (<25) 大きく変更される可能性がない場合は、定数に「はい」と言いますが、データがこれらの制約に一致しない場合は、それらをデータベースにポップすることをお勧めします。

于 2012-05-01T01:26:51.227 に答える
0

ファイルは高速になると思いますが、接続して結果を取得して返す必要があるため、データベースが遅くなるため、サイズが大きくなる可能性があります。個人的には、ファイルを使用します。

于 2012-05-01T01:04:52.610 に答える