1

我的老板是流行语的忠实粉丝,他坚持认为我们应该使用 Symfony 2 创建我们的新网站。

我已经使用 Symfony 开发了几个应用程序,但我现在遇到的问题是这个网站由几个应用程序、静态网页甚至是主要由意大利面条代码组成的旧 PHP 应用程序组成。

  • 我需要各种 Symfony 安装,每个应用一个,还是可以使用相同的?我会为此使用捆绑包,还是有更好的方法?
  • 使用 Symfony 提供静态网页是否有意义?
  • 如果我在站点的根目录安装 Symfony 以便我可以使用它来创建一个通用的登录系统,我可以指示 Symfony 忽略对旧应用程序的请求吗?
4

3 回答 3

2
  • 就像您建议的那样:对于应用程序,我将使用一个 Symfony 安装,然后为每个应用程序使用一个 Bundle
  • 为了连贯集成,我将从 Symfony 提供静态页面,从性能上讲这没有任何区别,因为它们将很好地从 Symfony 缓存中提供。从 Symfony 2.2 开始,静态页面的集成也非常简单,由您的 bundle 路由配置中的 FrameworkBundle:Template:template 完成。(例如见这里:http ://symfony.com/blog/new-in-symfony-2-2-cache-support-for-static-pages )
  • 至于对旧应用程序的请求,我认为最好将这些请求捕获并重定向到新的相应应用程序,同时根据新应用程序的需要重写参数。这可能由 htaccess 完成。
于 2013-05-10T10:40:47.127 回答
1
  1. 首先,围绕所有现在可以工作和以后应该工作的页面构建某种测试工具。
  2. 如果整个网站都在同一个域中提供服务,或者您正在共享实体或其他配置,那么一定要使用一个 Symfony 安装。您不想更新多个安装,或手动将数据从一个数据库推送到另一个数据库。如果他们在不同的域中,并且您希望每个用户只有一次登录,请使用 SSO。
  3. 查看您的流量是否通过 Symfony 提供静态页面。如果您有 1000 多个并发用户,并且 80%​​ 的流量流向这些静态页面,那么我会说要务实并从 CDN 为它们提供服务。另一方面,如果您的流量在动态内容中分布得更低或更多,那么如果一切都在 Symfony 中会更容易。
  4. 您可以阻止或转发 URL,但如果可能的话最好通过网络服务器(Apache、Nginx)来完成,因为加载整个 Symfony 框架只是为了进行重定向是没有意义的。
于 2013-05-10T12:23:03.303 回答
0

我同意布歇尔的观点。每个人都可以将您的应用程序分发到捆绑包中。将 Symfony 用于静态页面并没有什么坏处,尤其是您会坚持使用应用程序的框架,最好将其完整地保存在一个平台上。对于静态页面,您可以像使用 twig 一样创建只包含“视图”(您的静态页面)的包。只需创建一些路由规则就可以了。这就是我对我所做的。

你会重写你的旧 php 应用程序吗?或者只是稍微调整一下以某种方式对 symfony 友好?

于 2013-05-10T15:36:01.083 回答