扫码关注官方订阅号
请问要怎么在class中使用pdo?
'''$pdo = new PDO();
class a{ function a(){
$pdo->query();
} function b(){
$pdo->exec(); }
}'''
就是这样,在a类里的a与b方法中使用呢?
ringa_lee
题主, 你要把pdo对象通过构造函数注入到类a中.(为什么不在构造函数里面直接实例化,这些是设计模式的概念,如果题主感兴趣可以google下“控制反转”)
class A{
protected $pdo; public function __construct(PDO $pdo){ $this->pdo = $pdo; } public function a1(){ $this->pdo->query(); } public function b(){ $this->pdo->exec(); }
}
$pdo = new PDO();$aInstance = new A($pdo);
另外上面两位的答案都不是编程最佳实践,不推荐使用。
class a{$pdo = '';function __construct(){$this->pdo = new PDO();}function a(){$this->pdo->query();}function b(){
$this->pdo->exec();}}
用了外部的变量可以用global
global
$pdo = new PDO(); class a{ function a(){ global $pdo; $pdo->query(); } }
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
题主, 你要把pdo对象通过构造函数注入到类a中.(为什么不在构造函数里面直接实例化,这些是设计模式的概念,如果题主感兴趣可以google下“控制反转”)
class A{
}
$pdo = new PDO();
$aInstance = new A($pdo);
另外上面两位的答案都不是编程最佳实践,不推荐使用。
class a{
$pdo = '';
function __construct(){
$this->pdo = new PDO();
}
function a(){
$this->pdo->query();
}
function b(){
$this->pdo->exec();
}
}
用了外部的变量可以用
global