gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 12:48:05 25 4
gpt4 key购买 nike

如何将全局变量传递给我想使用的类,而无需在类的每个方法中都将它们声明为 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com