こんにちは皆とメリークリスマス!静的クラスでデータを保存する[PHP]
私は効率に問題があります。私はStackOverflowコミュニティが助けてくれることを願っています。
私の(静的な)クラスの1つでは、データベースから大量の情報を取り出し、その情報を解析し、フォーマットされた配列に格納する関数を持っています。このクラス内の多くの関数は、そのフォーマットされた配列とクラス全体に依存しています。私はそれを何度か呼び出します。つまり、アプリケーションはこのプロセスを1回で複数回実行します。だから私はこれを行うことについて行くことができるより効率的な方法があるのだろうかと思っています。私がフォーマットされた配列から情報を必要とするたびにプロセス全体をやり直す必要がないように、静的関数内にフォーマットされた配列を格納する方法はありますか?
private static function makeArray(){
// grab information from database and format array here
return $array;
}
public static function doSomething(){
$data = self::makeArray();
return $data->stuff;
}
public static function doSomethingElse(){
$data = self::makeArray();
return $data->stuff->moreStuff;
}
からの検索を強制したい場合は、 'makeArray(の結果である)すべての呼び出しで'いつも同じ?そうであれば、それを静的プロパティにキャッシュして、すでに読み込まれている場合はそれを返すことができます。 –
データベース内のデータが更新された場合(頻繁に発生することはなく、手動で行われた場合)、makeArray()の結果が変更されるため、キャッシュすることは良い選択です。私はそのような結果をキャッシングするように提案しますか? – camrymps