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


Is using one copy of a framework a bad idea?

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

我认为这是一个非常糟糕的想法,但我真的不确定为什么(除了不能更新框架的主要观点,所以我们被困在使用旧版本)。

这个还有其他负面的副作用吗,还是没有我想的那么糟糕?

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

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

这意味着你可以继续按你的方式工作,但是对于任何给定的项目使用你想要的库版本。

附加的好处是,如果你需要升级你的一个项目,你可以通过改变htaccess文件中的include路径来改变这个项目的库版本,而不需要安装任何额外的库副本或影响任何其他项目。

唯一的问题可能是如果你要修改框架代码库,因为你可能永远不知道如果你修补框架,什么应用程序可能会崩溃。

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

如果你没有做自动化测试或不能修改应用程序代码库,那么这可能是一个问题(我重复,只有当你需要修改框架代码时)。

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

因为它是旧的东西,没有必要担心Composer依赖管理,我不认为你在使用它,我是对的吗?