我有使用Perl,Python和Javascript进行编程的经验,但最近继承了一个PHP项目,它看起来像许多意大利面代码给我。PHP:如何处理全球范围
我正在尝试重构该项目,以便在单元测试下正确地得到它。对我而言,这意味着查看源代码并将所有东西都分解成不使用全局变量并且每个执行一个特定任务的小函数。
我知道PHP的模块系统有点像Javascript:所有源文件在include
上连接成一个。
这意味着两个单独文件中的函数不能具有相同的名称,假定其中一个文件将使用另一个文件。
我的问题是:我应该如何定义我的函数来处理PHP中的全局范围问题?
在Javascript中,我会使用模块模式,像这样:
var MyModule = (function() {
return {
'func1': function() {},
'func2': function() {}
};
}());
或一些变化。 有没有办法在PHP中做到这一点?另外,这有什么合适的约定?