【发布时间】:2018-01-26 08:11:45
【问题描述】:
至于我,我避免使用全局,但我偶然发现了一点,使用似乎是最好的解决方案。我构建了这个函数:
function _get($parameter_name)
{
global $argv; // register the argv array as a global variable
if (isset($argv))
{
parse_str(implode('&', array_slice($argv, 1)), $_GET);
}
return $_GET[$parameter_name];
}
此方法的目的是调用 _get('test') 并获取 argv 传递的参数的值或 url GET 参数。但我不确定。
我已经知道,像Are global variables in PHP considered bad practice? If so, why? 中提到的那样,使用 global 是不好的做法。但是 argv 数组有点特别。它是通过 php-cli 自动填充的,并且只能从被调用的脚本中访问。如果我想从类方法或函数中访问这个变量,我需要将它传递到哪里,或者将它放在一个公共静态类成员中。那将是一个解决方案,但我不想在每个脚本中编写相同的行来将数组传递给许多函数。那不是很好。所以我正在考虑这种方式作为另一种可能的解决方案。
您对此有何看法,或者我目前没有看到更好的方法?
【问题讨论】:
-
避免.......................
-
尽可能不要使用全局变量。
标签: php global-variables argv