Nesneye yönelik tasarım için ANLAMAK kılavuzlarında Information Expert prensibi izleyin:
... Bunu yerine getirmek için gerekli en çok bilgi ile sınıflarında bir sorumluluk yerleştirin.
Yani giriş için gereken verileri içeren sınıfından günlüğüne yazardı. Günlüğe kaydetmek istediğiniz olay modelinin çalışması ile ilgilidir, o modelde günlüğüne yazma. Olay kontrolörün çalışması ile ilgilidir oturum açmak istiyorsanız, o zaman kontrolör günlüğüne yazma.
Bir uygulama için bir günlük çıktı oluşturmak etmeyin. Aksi takdirde herhangi bir teşhis bilgilerini bulmak için birçok log dosyaları üzerinden avlamak gerekecek! Sen Zend_Registry
bir günlük nesnesi saklayabilirsiniz böylece app herhangi bir sınıfından günlüğünü çağırabilirsiniz.
Yorumlarınızı Re:
Logger beklenen kayıt defteri anahtarı altında bulunan değilse, sadece nazikçe başarısız iyi. Başarısız tarafından incelikle ben çıkışı (web sayfası) Stdout'a bir hata ya da (httpd sunucu günlüğüne) stderr'yi, ya da bir özel durum ve uygulama halletsin ya demek.
Bağımlılıkları gelince, bu bir sorun değildir. Bir sınıfın başka bir sınıf kullanan her zaman bağımlılık benzer bir tür var. Registry tasarım deseni bakın.