PHP nasıl bir sınıf için bir MySQL veritabanı bağlantı geçmesi gerekir?

0 Cevap php

Ben eğlenmek için küçük bir CMS yapmaya çalışıyorum ama OOP ile bazı semantik yakalanmış alıyorum. Ben bir temel veritabanı sınıf var ve sonra bir yönetici sınıfı var. Yönetici sınıf veritabanı sorgularını yapmak zorundadır, bu yüzden ne yapıyorum yönetici sınıf db sınıfını genişletmek ve daha sonra yapı üzerinden db kaynak linki geçen yaşıyor. Benim kod şöyle görünür:

class admin extends mysql {
    function __construct($link) {
        $this->link = $link; //$this->link is in the mysql class
    }
}
$db = new mysql($host,$user,$pass,$name);
$admin = new admin($db->link);

(Ben çağrıları bunun tamamen yeni bir örnek varsayalım) db sınıfı uzatmadan bu daha kolay bir yöntem olması gerektiğini biliyorum. Bir arkadaşım sadece yönetici sınıfa $ db nesnesini geçmek ve böylece gibi orada saklayın söyledi:

class admin {
    var $db;
    function __construct($db) {
        $this->db = $db;
    }
}

$db = new mysql($host,$user,$pass,$name);
$admin = new admin($db);

Bu şeyler yapmak için doğru yolu nedir? Zaten kurulmuş eğer db bağlantısını başvurmak için kolay bir yolu var mı?

0 Cevap