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

前端之家收集整理的这篇文章主要介绍了如何将全局变量传递给PHP中的类?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何将全局变量传递给我想要使用的类,而不在类的每个方法中将它们声明为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);

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

原文链接:https://www.f2er.com/php/132045.html

猜你在找的PHP相关文章