PHP サイトのすべての Web ページで使用できるようにする必要がある文字列変数が 100 個まであります。実行時にデータが変更されることはありませんが、将来的には複数のデータ セットが必要になり、ページ リクエストで使用中のデータを切り替える必要があります。文字列の長さは 5 ~ 600 文字です。現在、次のようなデータを含むファイルを含めています。
$someStuff = "abc";
$otherStuff = "def";
// etc
opcache を使用しています。このアプローチは、opcache からどの程度の利益を得るでしょうか?
私はこの答えを見ました。キャッシングの利点がキー検索を行う価値がある場合は、連想配列の使用に変更できます。ただし、変数を宣言するよりも、静的配列フィールドを持つクラスを使用する方が私の状況に適しているかどうかは明確ではありません。
たぶん、静的変数を持つ関数は良い考えですか? これは静的クラス フィールドと同じですか、それよりも優れていますか、それとも劣っていますか?
function getItem ($name) {
static $items = array("someStuff" => "abc");
return $items[$name];
}
たぶん、各文字列の変数ではなく関数ですか?特定のページですべての文字列が使用されていない場合 (これはよくあることです)、これはより良いことでしょうか?
function someStuff () { return "abc"; }
function otherStuff () { return "def"; }
最善の解決策は何ですか?すべてのページでデータが必要になるため、ディスク/データベースなどからの読み取りを避けて、できるだけ効率的にしたいと考えています。