如何将全局变量传递给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); 但我建议尽量避免全局变量.它们将使您的代码更难以阅读和调试.通过执行类似上面的操作(将其传递给类的构造函数),您可以大大改进它… (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |