如何处理require过多的情况
程序员文章站
2024-01-03 12:01:52
...
如何避免require过多的情况?
比如在一处地方有多个分支,转向N多不同的业务模块。
这些模块到时候会写在不同的php文件里。
那么在这个分支转发的地方是不是要把所有这些模块的php文件都require进来,还是有什么办法可以避免,还有效率如何?
------解决方案--------------------
把所有这些模块的php文件都require进来,当然是可以的
但显然把不与要的代码也加载了。只要这些代码不会发生冲突,都加载也没有多大影响
不过不同的业务模块中通常有相似的操作,因此极易发生冲突。而协调这些冲突,是得不偿失的工作。等何况不同的模块可能由不同的人开发
所以建议只 require 进来当前需要的模块
你只需规划好模块的入口文件,事情就变得非常简单了
假定入口文件都以 业务名_class.php 命名
$modelname = '业务名';
require("{$modelname}_class.php");
就轻便的加载了,至多你先判断一下文件是否存在
------解决方案--------------------
也许你可以开始尝试使用Autoload
比如在一处地方有多个分支,转向N多不同的业务模块。
这些模块到时候会写在不同的php文件里。
那么在这个分支转发的地方是不是要把所有这些模块的php文件都require进来,还是有什么办法可以避免,还有效率如何?
------解决方案--------------------
把所有这些模块的php文件都require进来,当然是可以的
但显然把不与要的代码也加载了。只要这些代码不会发生冲突,都加载也没有多大影响
不过不同的业务模块中通常有相似的操作,因此极易发生冲突。而协调这些冲突,是得不偿失的工作。等何况不同的模块可能由不同的人开发
所以建议只 require 进来当前需要的模块
你只需规划好模块的入口文件,事情就变得非常简单了
假定入口文件都以 业务名_class.php 命名
$modelname = '业务名';
require("{$modelname}_class.php");
就轻便的加载了,至多你先判断一下文件是否存在
------解决方案--------------------
也许你可以开始尝试使用Autoload
相关文章
相关视频