糟糕的范围实践(全球和常态)和实用性?

时间:2012-10-11 23:24:46

标签: php

我研究过使用global被认为是不好的做法,因为它允许函数在没有实际设置变量的情况下执行,并且CONSTANT不应该用于任何非常的事情,非常静态,例如一周内的天数。

我真的很沮丧的问题是在函数和实用性中使用变量。 例如,假设我使用$_SERVER["REMOTE_ADDR"]获取用户的IP,并且需要多个函数。当我想使用其中一个函数时,我必须回顾一下这个函数并提醒自己参数的顺序是什么,即使我知道它是函数所需要的。

另一个例子是不会改变的用户信息,例如用户名或年龄。我需要在多个函数中使用它,但我必须再次计算出参数的顺序,并为所有信息包含大约5个额外参数,老实说,遵循良好实践似乎适得其反。

我说得对吗?你们通常只包括所有参数吗?

1 个答案:

答案 0 :(得分:0)

您可能会发现查看Registry pattern会很有帮助。

就个人而言,如果一个方法需要访问经过身份验证的用户的详细信息,我的代码往往看起来像:

public function sayHello() {
    $user = Auth::getAuthenticatedUser();

    return 'Hello, ' . $user->getName();
}