Herkese merhaba ve Mutlu Noeller!Statik bir sınıfta veri depolama [PHP]
Verimlilikle ilgili bir sorun yaşıyorum ve StackOverflow topluluğunun bana yardımcı olabileceğini umuyorum.
(Statik) sınıflarımdan birinde, veritabanımdan büyük miktarda bilgi alan, bu bilgileri ayrıştıran ve biçimlendirilmiş bir diziye koyan bir işlev var. Bu sınıftaki birçok işlev, bu biçimlendirilmiş diziye ve sınıf boyunca, bunu birkaç kez söylerim; bu, uygulamanın, bu süreçleri birkaç kez tek bir işlemle gerçekleştirdiği anlamına gelir; Bu yüzden bunu yapmanın daha verimli bir yolu olup olmadığını merak ediyorum. Biçimlendirilmiş diziyi statik işlev içinde saklamak için bir yol var mı? Böylece biçimlendirilmiş diziden her bilgiye ihtiyacım olduğunda tüm işlemi yeniden yapmak zorunda kalmam.
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;
}
bir alma zorlamak istiyorsanız
'makeArray()' zaman her aynı çağrı sonucu mi? Eğer öyleyse, bunu statik bir özellikte önbelleğe alabilir ve daha önceden doldurulmuşsa geri dönebilirsiniz. –
Veritabanındaki veriler güncelleştirilirse (ki bu sık sık gerçekleşmez ve elle yapılır), makeArray() öğesinin sonucunu değiştirir, böylece önbelleğe almak iyi bir seçenek olabilir. Böyle bir sonucu önbelleğe almayı nasıl önerirsiniz? – camrymps