有没有一种方法可以避免在PHP函数中引用全局变量?

有没有一种方法可以避免在PHP函数中引用全局变量?,php,Php,有没有一种方法可以避免在PHP函数中引用全局变量 我只是讨厌对每个变量都使用'global'关键字,而且有人告诉我,在PHP中使用常量(作为替代)会严重影响性能。您可以尝试使用您可以尝试使用将变量发送到函数中,如下所示: function yourfunction ($variable1, $variable2) { ... } //Call the function: yourfunction ($variable1, $variable2); 只需将变量发送到函数中

有没有一种方法可以避免在PHP函数中引用全局变量


我只是讨厌对每个变量都使用'global'关键字,而且有人告诉我,在PHP中使用常量(作为替代)会严重影响性能。

您可以尝试使用您可以尝试使用将变量发送到函数中,如下所示:

function yourfunction ($variable1, $variable2) { 
    ... 

  }

 //Call the function:
 yourfunction ($variable1, $variable2);

只需将变量发送到函数中,如下所示:

function yourfunction ($variable1, $variable2) { 
    ... 

  }

 //Call the function:
 yourfunction ($variable1, $variable2);

如果必须在函数中使用多个全局变量,则说明设计错误。

甚至使用一些被认为是不好的做法的全局变量,使代码变得不明显。
尽管“表现不佳”的谣言是错误的,但常数并不是解决方案

如果需要在函数内部使用许多变量,请考虑数组使用

$data   = array("one","two","three");
$result = myfunc($data);
简单、可靠、易读


通过更详细地解释此函数的作用以及所有这些变量的用途,您可以得到更精确的答案。

如果您必须在函数中使用许多全局变量,则说明设计有误。

甚至使用一些被认为是不好的做法的全局变量,使代码变得不明显。
尽管“表现不佳”的谣言是错误的,但常数并不是解决方案

如果需要在函数内部使用许多变量,请考虑数组使用

$data   = array("one","two","three");
$result = myfunc($data);
简单、可靠、易读


通过更详细地解释此函数的作用以及所有这些变量的用途,您可以得到更精确的答案。

一个单例可能值得考虑。另请参见注册表模式

您还可以将全局变量分解为它自己的函数

这是非常基本的…

函数do_stuff(){
$var=get_something();
//多做事
}

函数get_something(){
返回“某物”;
}


当然,您也需要设置变量。对于一个对象或其他东西来说,这应该足够简单。

一个单身汉可能值得考虑。另请参见注册表模式

您还可以将全局变量分解为它自己的函数

这是非常基本的…

函数do_stuff(){
$var=get_something();
//多做事
}

函数get_something(){
返回“某物”;
}


当然,您也需要设置变量。对于一个对象或其他东西,这应该足够简单。

所有配置变量如何?它们不是存储在全局变量中吗?我不认为在全局变量中放置配置变量是错误的设计。我相信我必须开始使用$GLOBALS['variable_name']方法来代替。@Basil配置变量应该首先排列到数组中!因此,输入single
global$cfg不会对您造成太大伤害所有配置变量是什么?它们不是存储在全局变量中吗?我不认为在全局变量中放置配置变量是错误的设计。我相信我必须开始使用$GLOBALS['variable_name']方法来代替。@Basil配置变量应该首先排列到数组中!因此,输入single
global$cfg不会对你造成太大伤害