对接口进行编程是否有助于摆脱全局变量



或者我的界面是新的"全局"? 我正在尝试找到一种方法来摆脱以下语句:

function someFunction()
{
    global $var1, $var3, $var4;
    //these are eventually assigned instantiated classes from an include
    ....
}

到目前为止,我只提出了接口。 我认为我的代码只会松散一点,也许很多。 但是,如果我真的想在实现接口(或扩展类)后松散耦合,我不能总是在接口和继承类之间用另一个抽象类或接口创建另一个抽象级别吗?

除了重写整个项目之外,我如何开始摆脱全局变量?

摆脱全局变量非常简单,不需要引入接口(甚至类)。如果您有类似的代码:

function someFunction()
{
    global $var1, $var3, $var4;
    // ...

然后,您只需将其替换为:

function someFunction($var1, $var3, $var4)
{
    // ...

并完成了。没有全局变量;)

编辑您将不得不重写整个项目。将全局变量替换为 eg。静态变量不会真正提高代码的质量。它是一个全球性的,只是形式不同。

相关内容

  • 没有找到相关文章

最新更新