在另一个类中使用PDO

时间:2013-05-29 06:15:57

标签: php pdo

如何插入数据库PDO查询?

2 个答案:

答案 0 :(得分:3)

如果Jcart对连接的pdo对象具有依赖性,那么最干净的事情就是将它传递给Jcart构造函数并将其保存到protected或private属性中。当你想要一些东西时,你会想办法得到你想要的东西。

class Jcart{
    private $db;

    public function __construct(PDO $db){
        $this->db = $db;
    }
    public function getItems(){
        $sql = "select * from items";
        $res = $this->db->query($sql);
        return $res->fetchAll();
    }
}

样本用法是。 (假设$ db是连接的PDO对象)

$jc = new Jcart($db);
$items = $jc->getItems();

答案 1 :(得分:0)

理想情况下,使用构造函数将数据库类添加到作用域。构造函数是一个特殊的函数,当你开始上课时会立即触发。

class Jcart {
    public $config     = array();
    private $items     = array();
    private $subtotal  = 0;
    private $itemCount = 0;
    private $db;    

    public function __construct() {
        $this->db = new PDO();

    }

    public function someMethod() {
        // Your PDO class is now available on the '$this' scope
        $prepare = $this->db->prepare(...);
    }
}

要使用课外的值,您必须将其公开,例如您的配置值,然后从您可以访问它的类外部,就像任何属性一样。

$cart = new JCart();
$cart->config; // outputs $config property from JCart