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