ZF2问题在这里。
我喜欢 ZF2 中事件驱动的东西。
这是我的目标。
我想使用数据库表启动会话,如果由于某种原因没有数据库连接,我想被抛出到错误/错误模板。
以下是我想到的一些方法。我可以附加到应用程序“路由”事件并在路由匹配发生之前或之后立即启动会话。但是,在 Mvc\Application.php 文件中没有 TRY 捕获,所以我认为这不是这样做的地方。
然而,在调用 CONTROLLER 的调度方法周围有一个 try catch 块。而且我注意到控制器有它自己触发的内部“调度”事件。
所以另一种可能性是我应该附加到这个内部控制器调度事件并在控制器的操作方法实际执行之前设置我的会话,因此在他们需要会话之前。
那么,我怎样才能附加到这个内部的“调度”方法呢?或者我还能怎么做才能让任何数据库连接异常进入我漂亮的异常页面,而不是在没有任何异常处理的情况下作为正常的 php 错误喷出???
控制器上没有更多的 init() 方法,因为这是事件应该提供的功能。
感谢您的帮助。
仅供参考:我尝试附加到不同的事件,例如'bootstrap'、'loadmodules'、'loadmodules.post'。我在附加方法中所做的只是抛出一个异常,看看我是否会出现在我拥有的漂亮错误页面中,但我没有任何运气。我最终调试它并找到了这个内部控制器的“调度”方法。控制器有自己的内部事件管理器。至少这是我从调试中收集到的。我可能是错的,所以请纠正我!