Zend框架2

时间:2012-09-07 11:17:14

标签: php zend-framework zend-framework2

我是新Zend Framework的狂热爱好者。到目前为止,我在之前的版本中完成了一个项目,我决定学习一个包含一个非常难以理解的部分的新项目。

我看过网络研讨会和youtube视频,我也阅读了文档,我只是通过阅读代码来尝试理解这个框架,但有些事情我无法弄清楚。

在网络研讨会上有很多关于EventManager的信息,但由于我缺乏英语,我只是无法理解100%的演讲。

我知道事件管理器管理的事件很明显,但我真的不知道如何使用它:在其中一个网络研讨会中,他们提供了一些简单的例子,但他们没有解释在哪里放这个代码,是吗module.php档案?或者其他一些地方如果你能给我一些解释的实际例子,那么我可以看到这一点。

接下来就是神秘的$e作为Module.php中大多数函数的参数传递,后面这样使用:$e->getApplication或者我只是想知道这是什么{{1} }} 代表?它的实例是什么?接下来是它如何“自动”传递给这些函数?

另一个问题:在为每个名为$e的模块指定的配置文件中,有很多东西。我明白了我理解它们的路线,但我无法弄清楚什么是可调用的和工厂。其中一个网络研讨会也解释如下:invokables是类的路径,工厂是可调用的函数或类(不记得)。关键是没问题,这在一些理论上是有道理的,但请给我一些深入解释的例子,那些工厂和可调用的东西来自我需要知道的其他东西。

另一件事是这些配置文件中有很多配置可能性。我在哪里可以找到有关这些文件中module.config.php可能的内容的一些信息?

现在一切都是这样,但我仍然想问一些尚未解答的问题。如果有人能够帮助我,我真的很感激通过邮件与这个人通信。


好的,一个问题就解决了。关于神秘& e的那个,如果somene被提到这里是一个解决方案:

这个$ e变量实例取决于我们在module.php文件中使用的函数:

案例1:init() - > & e是模块管理器的实例 案例2:onBootstrap() - > & e是MvcEvent的一个实例 (如果还有其他情况我没找到,请告诉我们)

事情就是当事件被触发时调用那些方法,所以如果这些函数出现在我们的代码中,那些正在监听的听众会将这些函数传递给那些函数(这是我的简单逻辑所以请不要讨厌我)

还有其他问题需要回答......一旦生病了,我会告诉你一些有意义的答案

2 个答案:

答案 0 :(得分:3)

在库存ZF2代码中,$e始终是Zend\EventManager\EventManagerInterface的实例。通常是Zend\EventManager\EventZend\Mvc\MvcEvent

一个类'EventManager触发一个事件,导致调用侦听器回调。每个侦听器回调都传递一个Event的实例,然后有一些有用的方法,特别是getTarget()getParams()EventManagerInterface的其他实例通常具有更专业的方法。 MvcEvent特别提供与Mvc组件相关的方法,例如getApplication()getRouter()getRequest()getResponse()

答案 1 :(得分:0)

您可以在“使用Zend Framework 2”一书中找到有关事件管理器,应用程序配置和MvcEvent的更多信息:http://leanpub.com/using-zend-framework-2