重用传递给PHP

时间:2015-08-19 20:40:53

标签: php codeigniter variables reference

我相当确定以前没有问过这个问题,但我可能只是在搜索时错误地说错了。

我尝试使用与作为参数传递给它的函数结果相同的变量。我正在使用CodeIgniter框架。

有问题的函数,在user_library类中:

public function getLanguage($user) {
    $CI =& get_instance();
    $user = $CI->User_model->getLanguage($user);
    return $user;
}

来自:

$user = $this->user_library->getLanguage($user);

NetBeans抱怨重新定义已经使用过的变量,但我不知道如何解决这个问题。 $user变量是在包含基本信息的许多函数之间传递的数组,例如用户名,语言等。

它是一个电子商务网站,但目前更像是一个学习项目。

我听说过通过引用传递,据我所知,$CI变量是如何使用的,但我不确定它是否适合应用程序。

非常感谢能够提供帮助的人!

1 个答案:

答案 0 :(得分:0)

在函数中重复使用函数参数作为变量通常被认为是错误的风格 - 随着函数变大,很难发现事物被覆盖的地方,导致意外行为。

IDE倾向于使用模块,当您违反代码风格指南时会提醒您。

你可以:

  • 直接返回,不会暂时分配到$user
  • 保存为其他变量名称
  • 重新配置netbeans以禁用此类代码检查

就个人而言,我推荐第一个选项。