需要帮助在PHP中重构全局变量

时间:2011-10-22 23:30:41

标签: php variables refactoring global

我有一个配方脚本,其中包含一些用全局变量编写的PHP代码。是否有人能够告诉我一个可以遵循的一般过程(或操作顺序)开始交换全局变量?这是一个例子:

function computeCost() {
  global $DB_LINK;
  $this->loadIngred();

  if ($this->liquid == $DB_LINK->true)
    $liquid = true;
  $amount = Units::convertTo($this->amount, $this->unitMapping, $this->unit, 
    $this->liquid);
  return ($this->amount * $this->cost);
}

1 个答案:

答案 0 :(得分:7)

您可以将其传递给函数,而不是使用全局变量:

function computeCost($db_link) {

并调用这样的函数:

$returnValue = computeCost($DB_LINK);

这样,不需要Globals(这样更好)并将数据传递给函数。因此,该函数与外部没有依赖关系,因为它应该是。