【发布时间】:2011-12-11 06:40:06
【问题描述】:
我的信息系统中有一个非常基于模块的架构,已安装到数百个客户端。更新会自动加载到这些客户端。但是其中一些客户端具有自定义功能,我不想将足迹添加到那里的所有其他客户端。
因此我想在系统中实现覆盖,以便某些模块的行为与主系统略有不同。
我的第一个想法是在包含文件和类之前进行一堆 file_exists() 检查,以查看在 overrides 目录中是否有它的覆盖版本,但是系统加载了很多文件,这意味着会有每个页面加载必须进行大约 20 到 30 个 file_exists() 检查(这也包括 CSS 和 JavaScript 之类的文件)。
这是否合适,或者是否有更好的方法来设计一个信息系统,让 99% 的客户在一个代码库上,1% 的客户在某些功能上使用覆盖?
谢谢!
【问题讨论】:
-
仅在安装/重新安装时检查它,我认为这种检查不会是性能问题
-
您可以考虑拥有一个指定覆盖的配置文件。然后你就会确切地知道需要加载什么。
标签: php architecture overriding scalability