【发布时间】:2012-06-05 20:24:25
【问题描述】:
谁能解释一下 symfony 2 应用程序的基本引导过程。从入口点,到控制器中的特定操作,再到使用 twig 模板系统渲染视图。
【问题讨论】:
标签: php symfony bootstrapping
谁能解释一下 symfony 2 应用程序的基本引导过程。从入口点,到控制器中的特定操作,再到使用 twig 模板系统渲染视图。
【问题讨论】:
标签: php symfony bootstrapping
symfony 的书中有一章是关于这个的:http://symfony.com/doc/current/book/internals.html
通读整章会让你很好地理解事情的本质。
为了完整起见,我将在这里引用重要的部分:
处理请求
handle() 方法接受一个请求并总是返回一个响应。为了转换请求,handle() 依赖于解析器和有序的事件通知链(有关每个事件的更多信息,请参阅下一节):
如果在处理过程中抛出异常,kernel.exception 会得到通知,并且监听器有机会将异常转换为响应。如果可行,则通知 kernel.response 事件;如果不是,则重新抛出异常。
如果您不希望捕获异常(例如对于嵌入式请求),请通过将 false 作为第三个参数传递给 handle() 方法来禁用 kernel.exception 事件。
【讨论】: