2012-09-07 189 views
4

我對新的Zend Framework感興趣。到目前爲止,我在前一個版本中完成了一個項目,並且我決定學習新的項目,其中包含一些非常難以理解的部分。Zend Framework 2

我看過網絡研討會和youtube視頻,我也閱讀了文檔,我試圖通過閱讀代碼來理解這個框架,但是我只是無法弄清楚幾件事情。

在網絡研討會上有很多關於EventManager的信息,但由於我缺乏英語,所以我無法理解100%的演講。

我知道事件管理器管理的事件非常明顯,但我真的不知道如何使用它:在網絡研討會上,他們提供了一些簡單的例子,但他們沒有解釋把代碼放在哪裏,是它module.php文件?或者其他一些地方,如果你能向我展示一些實際的例子和解釋,那麼我可以看到最新的觀點。

接下來的事情是,神祕$eModule.php的參數大部分功能,這之後再使用這樣的傳遞:$e->getApplication或東西我只是想知道這是什麼$e代表?這是什麼?接下來的事情是它如何「自動」傳遞給這些函數?

另一個問題:在爲每個稱爲module.config.php的模塊指定的配置文件中有很多事情。我瞭解了他們的路線,但我無法弄清楚可以使用的工具和工具。在網絡研討會中還有一個解釋如下:invokeables是類的路徑,工廠是可調用的函數或類(不記得)。關鍵是好的,這在一些理論性的談話中是有道理的,但請給我提供一些深入解釋的例子,那些工廠和可調用來自哪裏以及其他我需要知道的東西。

另一件事是在這些配置文件中有很多配置可能性。我在哪裏可以找到有關這些文件中可能有哪些"keys"=>"values"的信息?

這就是現在,但仍然有問題沒有答案,我想問一下。如果有人能夠幫助我,我真的很感激通過郵件與這個人通信。


好的一個問題解決了。關於神祕&Ë因此,如果somene在這裏位數的一個一個解決方案:

這$ê變量實例取決於我們在module.php文件中使用什麼功能:

情況1:的init() - > & e是模塊管理器的實例 案例2:onBootstrap() - > & e是MvcEvent 的一個實例(如果有其他情況下,我還沒有找到,請讓我們知道)

的事情是,這些方法是當事件被調用時被稱爲如此神祕的& e被傳遞給那些函數如果這些功能出現在我們的代碼中(這是我的簡單邏輯,所以請不要討厭我)

還有其他問題需要回答..一旦生病弄清楚一些有意思的答案,我會讓你知道

回答

3

有庫存的ZF2代碼,$e永遠是Zend\EventManager\EventManagerInterface的一個實例。通常它可以是Zend\EventManager\EventZend\Mvc\MvcEvent

一個類的EventManager觸發一個事件,導致監聽器回調被調用。每個偵聽器回調都會通過一個Event的實例,然後有一些有用的方法,特別是getTarget()getParams()EventManagerInterface的其他實例通常有更專門的方法。 MvcEvent尤其具有與Mvc組件相關的方法,例如getApplication(),getRouter(),getRequest()getResponse()

+0

感謝這個解釋現在它更有意義,我 – user1650441

+0

請你也解釋了它,當是Zend \ EventManager \ Event和Zend \ Mvc \ MvcEvent? – user1650441

+1

您只能從Zend \ Mvc組件觸發的事件中獲得MvcEvent。 –