如何将全局变量传递给我想使用的类,而无需在类的每个方法中都将它们声明为 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);
但我建议尽量避免使用全局变量。它们会使您的代码更难阅读和调试。通过像上面那样做(将其传递给类的构造函数),您可以大大改进它...
关于php - 如何将全局变量传递给 PHP 中的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4768187/