Kendimi 'cache' benim Zend_Db_Table
modellerini başlatmasını yapılan çalışma benim bu kodu yapıyor bulduk:
if (Zend_Registry::isRegistered('x_table')) {
$x_table = Zend_Registry::get('x_table');
} else {
$x_table = new Default_Model_DbTable_X;
Zend_Registry::set('x_table', $x_table);
}
Bu yöntem çok DRY olmadığını beni rahatsız ve bir tek desen muhtemelen bunu yapmak için daha iyi bir yol olacağını bugün kafama dank etti. Sorun Ben bir tek sınıf yazılı hiç, değildir. Ben bazı web aramaları yaptım, ben Zend_Db_Table
tekiz, ama gerçek örnekler hakkında bazı hazırlıksız açıklamalarda bulundu.
Zaten meta-veri önbelleğe yapılandırmış.
- Nasıl benim
Zend_Db_Table
modelleri singletons yapabilirim? - Tuzaklar veya olumsuz yanları var mı?
Singleton'ununu düşünme için Edit: Benim neden cevap Ben sadece benim kod aşağıdaki aramaları $x_table = new Default_Model_DbTable_X;
ve var eğer tek örneği döndürülür olacağını olabileceğini düşünmüş olması oldu. Bu mümkün ise, ben bu çözümü tercih ederim.