Php 设计一个支持覆盖的系统,文件_exists()和includes?

Php 设计一个支持覆盖的系统,文件_exists()和includes?,php,architecture,overriding,scalability,Php,Architecture,Overriding,Scalability,我的信息系统中有一个非常基于模块的体系结构,安装在数百个客户机上。更新会自动加载到这些客户端。但其中一些客户机具有自定义功能,我不想在其他客户机上添加足迹 因此,我希望在系统中实现覆盖,以便某些模块的行为与主系统略有不同 我的第一个想法是在包含文件和类之前进行大量的file_exists()检查,以查看覆盖目录中是否有覆盖版本,但系统加载了大量文件,这意味着每页加载大约需要20到30个file_exists()检查(这也包括CSS和JavaScript等文件) 这是合适的还是有更好的方法来设计一

我的信息系统中有一个非常基于模块的体系结构,安装在数百个客户机上。更新会自动加载到这些客户端。但其中一些客户机具有自定义功能,我不想在其他客户机上添加足迹

因此,我希望在系统中实现覆盖,以便某些模块的行为与主系统略有不同

我的第一个想法是在包含文件和类之前进行大量的file_exists()检查,以查看覆盖目录中是否有覆盖版本,但系统加载了大量文件,这意味着每页加载大约需要20到30个file_exists()检查(这也包括CSS和JavaScript等文件)

这是合适的还是有更好的方法来设计一个信息系统,其中99%的客户端在一个代码库上,1%的客户端在某些功能上使用覆盖


谢谢!

我同意user973254和Michael Mior的评论,并认为您应该将它们结合起来:安装时,执行覆盖检查,然后使用信息生成配置脚本-只需存储一个
$modules['ModuleName']='/File/Path'
数组。然后,无论何时加载模块调用
都包括$modules['ModuleName']在安装/重新安装时检查它,我不认为这个检查是一个性能指标。你可以考虑配置一个指定重写的配置文件。然后你就知道需要加载什么了。我确实做到了这一点,并节省了几毫秒的执行时间。同样的原理也适用于其他一些。更新后才能更改的内容,所以这是一个很好的方法。干杯!