Php 使用框架的一个副本是一个坏主意吗?

Php 使用框架的一个副本是一个坏主意吗?,php,frameworks,Php,Frameworks,目前,我与一家公司合作,该公司有几个不同的项目,所有项目都运行在PHP框架的旧版本上。该PHP框架安装在服务器上的共享目录中,并添加到PHP的include路径中,以便键入require'framework/Lib.PHP或其他内容将从共享目录加载Lib.PHP。所有项目都没有自己的框架副本 我认为这是一个非常糟糕的想法,但我不太清楚为什么(除了不能更新框架的要点,所以我们只能使用旧版本) 有没有其他的负面影响,或者它没有我想的那么糟糕 这不是问题,也不罕见 如果需要一个库或框架的多个副本,可以

目前,我与一家公司合作,该公司有几个不同的项目,所有项目都运行在PHP框架的旧版本上。该PHP框架安装在服务器上的共享目录中,并添加到PHP的include路径中,以便键入
require'framework/Lib.PHP
或其他内容将从共享目录加载Lib.PHP。所有项目都没有自己的框架副本

我认为这是一个非常糟糕的想法,但我不太清楚为什么(除了不能更新框架的要点,所以我们只能使用旧版本)


有没有其他的负面影响,或者它没有我想的那么糟糕

这不是问题,也不罕见

如果需要一个库或框架的多个副本,可以根据每个项目的需要在其自己的PHP.ini或htaccess文件中分别设置PHP包含路径

这意味着您可以继续按自己的方式工作,但可以为任何给定项目使用所需的库版本


另外一个优点是,如果需要升级某个项目,只需更改htaccess文件中的include路径,即可更改该项目的库版本,无需安装库的任何额外副本或影响任何其他项目。

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

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

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

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


而且因为它是老东西,所以没有必要担心Composer依赖关系管理,我认为您没有使用它,对吗?

有一点是,您无法修复其他项目所依赖的一些错误。如果框架允许这样做,并且您不打算触碰它,这听起来并不是一个糟糕的想法。特别是如果你按版本归档副本,那么你可以根据每个项目进行升级(这里的符号链接可能很好)。我喜欢完全独立的“项目”,但是当我有一个bug并且必须修复它10次时,它就很糟糕了-有各种各样的优点\n如果你使用Apache,你可以完美地结合@Pekka웃'的想法和每个目录的PHP包含路径。因此,您不必担心代码中的版本,而只需担心一个.htaccess文件中的版本。更多信息请参见此处:这是一个不错的主意,但这完全取决于框架组件的管理情况。如果在不考虑更广泛影响的情况下进行任意更改,您将发现自己陷入了很多麻烦。