PHP-如何在PHP中为PHP应用程序编写代码补丁程序


PHP - How to write a code patcher for PHP app in PHP?

我管理一个我们内部定制的公共域PHP应用程序。它可以使用许多其他人编写的插件等。所有这些都可以获得更新。

是否可以编写一个独立的补丁实用程序,在核心应用程序和插件等更新后重新集成我们的定制代码?如果是,有什么好的解决方案?我完全可以将自定义代码块单独维护在一个单独的位置,以供这个"工具"查找和使用。

有几种替代方法可以实现这一点:

  • 传统:您可以使用GNU diff/patch实用程序创建一个补丁文件,其中包含自定义版本和普通版本之间的差异,安装更新,然后将补丁应用于现在更新的版本。

  • 继承:假设应用程序使用OOP范式,而不是修改核心应用程序类,你可以用自己的类扩展这些类,这样你的自定义就可以与核心文件隔离,所以当你更新应用程序时,核心会被更新,你的自定义也不会受到影响

  • 缓存:您可以实现类似于OpenCart的vQmod的功能,通过创建动态合并的版本作为缓存的.php文件来将您的自定义内容合并到核心软件中,这些文件是运行的,而不是原始的核心文件,这样您就可以在不更改原始文件的情况下运行更改后的核心。