我的信息系统中有一个非常基于模块的架构,安装在数百个客户端上。更新将自动加载到这些客户端。但是其中一些客户端具有自定义功能,我不想为其他客户端添加足迹。
因此,我想在系统中实现覆盖,以便某些模块与主系统的作用略有不同。
我的第一个想法是在包含文件和类之前进行一堆file_exists()检查,看看是否在覆盖目录中有覆盖版本,但是系统会加载很多文件,这意味着会有每页加载必须大约二十到三十个file_exists()检查(这包括CSS和JavaScript等文件)。
这是合适的还是有更好的方法来设计一个在一个代码库上拥有99%客户端的信息系统,而1%使用覆盖某些功能的信息系统?
谢谢!
答案 0 :(得分:1)
我同意 user973254 和 Michael Mior 的评论,并认为您应该将它们合并:安装时,执行覆盖检查,然后使用信息生成配置脚本 - 只存储$modules['ModuleName'] = '/File/Path'
的数组。然后,无论何时加载模块调用include $modules['ModuleName'];