PHP: Zend_Layout: iş mantığını yazmak için Nerede?

1 Cevap php

Çoğu proje üzerinde birden çok düzeni komut dosyalarını kullanabilirsiniz.

Bazen yerine sayfanın-özgü, düzen-özgü benim düzenleri bazı verileri gerekir. Olsa alışmakta hangi düzen, sayfaya özgü IS.

Yani önyükleme veya ActionController bir düzen seçmek için iyi yerlerde olurdu. Ama IMHO onlar not, belirli bir düzen bekliyor veri enjekte iyi yerlerde olurdu.

Aklıma tek yer sadece kendisi viewscript düzeninde bazı iş mantığı yazmaktır. O bir şey olsa ben oldukça da yapmak istemiyorum :)

Where do you write your layout-specific business logic?

- UPDATE,

düzen-özel iş mantığı olabilir;

  • Şu anda oturum açmış kullanıcı adınızı
  • Kullanıcının posta kutunuza yeni mesajlar miktarı
  • rastgele "bildin ..?" uç

1 Cevap

Bu gibi şeyler iyi bir ViewHelper yapılır

class ViewHelper_RandomTip
{
    public function randomTip()
    {
         $tip = TipsModel::getRandom();
         return "<div><h1>Random Tip</h1><p>$tip</p></div>");
    }
    // ...
}

Sonra düzeni ile kullanın

echo $this->randomTip();

Note that this is example code not intended to run anywhere. Exactly how you access your model from the Helper and how you return the content is completely up to you. You will also have to find a mean to register the ViewHelpers with the Layout. And there will be people telling you, you may not access the model from the View (which is wrong)

Ayrıca ilgili sorulara bakın:

Ve Zend Framework further information için bu tür bir iş yapar nasıl bir göz var.