Zend: denetleyicisi bir görünüm helper özel bir işlev nasıl kullanılır?

3 Cevap php

Ive library/my/view/helper/gravatar bir görünüm yardımcım var, ve böylece herhangi bir görünümde I $this->gravatar($email) arayabilirsiniz.

Ama nasıl modeller (veya denetleyicileri) bu işlevi erişebilir?

Maalesef onun zaten sordum ama Im yeni ve dokümantasyon bölgelerinde korkunç kanlı değil ise.

Herkese teşekkürler

3 Cevap

Controller, sen aracılığıyla ViewHelpers erişebilirsiniz

$this->view->gravatar($email)

Sizin modeli sunum katmanı için model kravat gibi, adlı işletmeye yöntemleri aramak gerekir. Görünüm model hakkında biliyor olabilir, ama modeli View hakkında bilmeniz gerekir.

Gravatarları için, yapımında Servis ve Görünüm Yardımcı da var:

Denetleyici:

$this->view->gravatar();

Modelde (Gordon genel olarak bunu yapmak gerekir ki doğru):

Zend_Controller_Action_HelperBroker::getStaticHelper('ViewRenderer')->getView()->gravatar()

ya da sadece Zend_Registry yoluyla Zend_View örneğini paylaşmak. Eğer Görünüm örneği yok doğrudan $ g gibi örneğini = new View_Helper_Gravatar (). Eğer Zend_Loader_PluginLoader kullanabilirsiniz yüklemek için.

Görünümünden "şey" emin olmak için daha iyi bir yolu bir görünüm yardımcı yöntem getHelper("helperName"); kullanmaktır aslında.

  $this->view->getHelper('gravatar');