如何将全局变量传递给我想要使用的类,而不在类的每个方法中将它们声明为 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);
但我建议尽可能避免全局变量。它们将使您的代码更难以阅读和调试。通过执行类似上面的操作(将其传递给类的构造函数),您可以极大地改进它......
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)