Defalarca uzatıldı sınıfa DB nesnesi geçmek kolay yolu

0 Cevap php

Aşağıdaki PHP kodu göz önünde bulundurun:

<?php
require_once("myDBclass.php");
class a {
    private $tablename;
    private $column;
    function __construct($tableName, $column) {
        $this->tableName = $tablename;
        $this->column = $column;        
    }

    function insert() {
        global $db;
        $db->query("INSERT INTO ".$this->tableName." (".$this->column.") VALUES (1)");  
    }       
}

class x extends a {
    function __construct() {
        parent::construct("x", "colX"); 
    }
}

class y extends a {
    function __construct() {
        parent::construct("y", "colY"); 
    }
}
?>

Ben başka bir dosyada örneği benim $ db nesnesi var ama nedense ben sınıf "a" yeni bir işlev tanımlamak global anahtar sözcüğü her şey kullanmadan sınıf a'in fonksiyonları içine bu geçmesini diliyorum.

Ben class X ve Y başlatmasını A sınıfı (im şu anda tabloismi ve sütun yapmak gibi) bu şekilde geçerken, sonra DB nesnesi ileterek bunu biliyorum, ancak ben sınıfını uzatabilir kaç kez bilemezsiniz A ve bir şekilde başka kolay bir yolu olması gerektiğini düşündüm.

Herkes ben bunu başarmak için düşünebiliriz daha iyi bir çözüm biliyor mu?

Şimdiden teşekkürler

0 Cevap