首页 文章

Symfony2中的Zend Framework 1应用程序

提问于
浏览
2

我正在考虑将一个相当大的Web应用程序从Zend Framework 1迁移到Symfony 2.这需要以允许ZF1应用程序的维护和功能添加的方式完成,所以我认为前进的好方法是将ZF1应用程序嵌入到Symfony2项目中,以便我可以将功能从一个缓慢移动到另一个 .

我的问题是如何合理地解决这个问题 . 为了证明这个概念可行,我已经修改了 app.php 中对 $kernel->handle() 的调用,以便不会捕获异常,然后我 grab 了 NotFoundHttpException 并使用它来调用ZF前端控制器(参见下面的代码),但这感觉像一个可怕的黑客 . 有什么更好的方法来实现这一目标?

app_dev.php:

   ...
   try {
      $kernel = new AppKernel('dev', true);
      $kernel->loadClassCache();
      $request  = Request::createFromGlobals();
      $response = $kernel->handle($request, null, false); // Don't handle exceptions
      $response->send();
      $kernel->terminate($request, $response);
   } catch (NotFoundHttpException $e) {
      require_once 'index.php'; // Dispatch ZF1 app
   }

1 回答

  • 0

    我在这里描述了've implemented a nicer solution by doing something along the lines of what',即通过为 kernel.request 实现一个自定义事件处理程序,如果找不到路由,它将委托给ZF1应用程序 .

    它仍然可以通过捕获 NotFoundHttpException ,但不是那么黑客 .

    当Symfony2找不到路由时,是否有更好的方式委派给ZF1应用程序而不是捕获异常?使用异常作为切换条件似乎不太好 .

相关问题