加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

如何将全局变量传递给PHP中的类?

发布时间:2020-12-13 16:41:33 所属栏目:PHP教程 来源:网络整理
导读:如何将全局变量传递给我想要使用的类,而不在类的每个方法中将它们声明为GLOBAL? 例如: $admin = "admin_area";if($_POST['login']){ $user = new Administrator; $user-auth($pass,$username); } 在类Administrator中我希望变量$admin可以在类的所有方法中
如何将全局变量传递给我想要使用的类,而不在类的每个方法中将它们声明为GLOBAL?

例如:

$admin = "admin_area";

if($_POST['login']){
      $user = new Administrator;
      $user->auth($pass,$username);
    }

在类Administrator中我希望变量$admin可以在类的所有方法中访问而不执行此操作:

class Administrator{

   public function auth($pass,$user){

     global $admin;
     .....

  }
  public function logout(){
    global $admin;

    .....
}

}
好吧,你可以声明一个成员变量,并将它传递给构造函数:
class Administrator {
    protected $admin = '';

    public function __construct($admin) {
        $this->admin = $admin;
    }

    public function logout() {
        $this->admin; //That's how you access it
    }
}

然后实例化:

$adminObject = new Administrator($admin);

但我建议尽量避免全局变量.它们将使您的代码更难以阅读和调试.通过执行类似上面的操作(将其传递给类的构造函数),您可以大大改进它…

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读