Tamam burada benim denetleyici eylemleri modelleri başlatmak için kullanabileceğiniz bir yöntemdir:
protected $_tables = array();
protected function _getTable($table)
{
if (false === array_key_exists($table, $this->_tables)) {
include APPLICATION_PATH . '/modules/'
. $this->_request->getModuleName() . '/models/' . $table . '.php';
$this->_tables[$table] = new $table();
echo 'test ';
}
return $this->_tables[$table];
}
I () yöntemi _getTable çağırdığınızda Sonra iki kez (örneğin kez init () yöntemi ve bir kez denetleyici eylem) o yazdırır:
test test test test test test
Sayfanın üstünde. Sadece) kontrol edin (çünkü array_key_exists bir _tables dizi () dan nesneyi döndürmek gerekmez mi? Yöntem birden çok kez çağrılır diğer bir deyişle () fonksiyonu sadece bir kez array_key_exists içindeki kısmı idam almak gerekmez mi?
GÜNCELLEME:
Düzen iki kez basılmış olur nedense (yani basılı düzeni var ve düzeni () olduğu layout'ta - -> içeriği;> tekrar düzeni yazdırır?) Yani sorun bu. Ben localhost Ayrıca önceki sunucu üzerinde iyi çalıştı ve gibi yapar neden hiçbir fikrim yok.