php - 怎么在class里使用pdo?
ringa_lee
ringa_lee 2017-04-10 16:19:53
[PHP讨论组]

请问要怎么在class中使用pdo?

'''
$pdo = new PDO();

class a{
function a(){

$pdo->query();

}
function b(){

$pdo->exec();
}

}
'''

就是这样,在a类里的a与b方法中使用呢?

ringa_lee
ringa_lee

ringa_lee

全部回复(3)
天蓬老师

题主, 你要把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);

另外上面两位的答案都不是编程最佳实践,不推荐使用。

ringa_lee

class a{
$pdo = '';
function __construct(){
$this->pdo = new PDO();
}
function a(){
$this->pdo->query();
}
function b(){

$this->pdo->exec();
}
}

PHP中文网

用了外部的变量可以用global

$pdo = new PDO();
class a{
    function a(){
        global $pdo;
        $pdo->query();
    }
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号