【问题标题】:Is using one copy of a framework a bad idea? [closed]使用一个框架副本是个坏主意吗? [关闭]
【发布时间】:2013-01-20 19:20:16
【问题描述】:

目前,我正在与一家拥有多个不同项目的公司合作,所有项目都在 PHP 框架的旧副本上运行。该 PHP 框架安装在服务器上的共享目录中,并添加到 PHP 的包含路径中,因此键入 require 'Framework/Lib.php 或任何内容都会从共享目录中加载 Lib.php。所有项目都没有自己的框架副本。

我认为这是一个非常糟糕的主意,但我不太确定为什么(除了无法更新框架的主要问题,所以我们只能使用旧版本)。

这还有其他负面影响吗,还是没有我想的那么糟糕?

【问题讨论】:

  • 有一点是您无法修复其他项目所依赖的一些错误。
  • 如果框架允许这样做,而你又不去碰它,这听起来并不是一个糟糕的主意。特别是如果您按版本存档副本,因此您可以基于每个项目进行升级(符号链接在这里可能很好用)
  • 我喜欢完全独立的“项目”,但是当我有一个错误并且必须修复它 10 次时它很糟糕 - 总是有优点\缺点
  • 如果您使用的是 Apache,您可以完美地结合@Pekka웃 的想法和每个目录的 PHP 包含路径。因此,您不必担心代码中的版本,而是在一个 .htaccess 文件中。更多信息请看这里:stackoverflow.com/questions/24622/…
  • 这不是一个坏主意,但这完全取决于框架组件的管理程度。如果在不考虑更广泛影响的情况下进行任意更改,您会发现自己遇到很多麻烦。

标签: php frameworks


【解决方案1】:

这不是问题,也不是不寻常的。

如果您需要一个库或框架的多个副本,您可以在其自己的 php.ini 或 htaccess 文件中为每个项目单独设置所需的 PHP 包含路径。

这意味着您可以继续按原样工作,但对任何给定项目使用您想要的任何库版本。

额外的好处是,如果您需要升级您的项目之一,您只需更改 htaccess 文件中的包含路径即可更改该项目的库版本,而无需安装任何额外的库副本或影响任何其他项目。

【讨论】:

    【解决方案2】:

    唯一的问题可能是如果您要修改框架代码库,因为您可能永远不知道如果您修补框架可能会破坏哪个应用程序。

    但是:如果您正在对依赖于框架的每个应用程序进行单元测试,那么您可以启动测试并检查是否有任何故障并最终恢复到以前的情况,或者有足够的信心修复测试失败。

    如果您没有进行自动化测试或无法修改应用代码库,那么这可能是个问题(我重复一遍,仅当您需要修改框架代码时)。

    我看不出由此产生的任何其他问题,它甚至可能是一个(小而有争议的)优势(因此每个人都使用相同版本的框架)。

    而且由于它是老东西,所以无需担心 Composer 依赖管理,我不认为你在使用它,对吗?

    【讨论】:

      猜你喜欢
      • 2014-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-19
      • 2020-12-04
      • 1970-01-01
      • 1970-01-01
      • 2011-10-31
      相关资源
      最近更新 更多