有没有其他方法,而不是每次我需要访问函数内的全局变量使用全局?
$db = new ezSQL_mysql("root", "", "payroll", "localhost");
class employee{
function get_emp(){
global $db;
}
}
Run Code Online (Sandbox Code Playgroud)
在普通的全局范围函数中,要么使用global
关键字,要么使用$GLOBALS['db']
超全局数组(这对于可读性而言是可取的).另一种方法是将全局变量作为参数传递给函数.
在你的课堂上,最好的方法是依赖注入.您的类构造函数接收$db
作为参数,这使它可用于所有类方法:
// $db was created at global scope
$db = new ezSQL_mysql("root", "", "payroll", "localhost");
class employee {
public $db;
// $db already created in your script is passed as a dependency
// to the class constructor
public function __construct($db) {
$this->db = $db;
}
// Access it as $this->db inside the class
public function get_emp() {
do_something($this->db);
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1126 次 |
最近记录: |