現在、MySQL データベースと対話するための 2 つのクラスを開発しています。一方は他方を拡張しています。どうぞ:
class DB_MySQL {
protected $dbuser;
protected $dbpass;
protected $dbhost;
protected $dbname;
protected $dbh; // Database connection handle
public function __construct($dbuser, $dbpass, $dbhost, $dbname)
{
$this->dbuser = $dbuser;
$this->dbpass = $$dbpass;
$this->dbhost = $dbhost;
$this->dbname = $dbname;
}
//Used to create connections - almost always called by execute()
protected function connect()
{
try
{
$this->dbh = new PDO("mysql:host=$dbhost;dbname=$dbname",$dbuser,$dbpass);
}
catch(PDOException $e)
{
print "Error!: ".$e->getMessage()."<br/>";
die();
}
}
そして子クラス:
class CheckOut extends DB_MySQL{
function __construct()
{
parent::__construct();
}
}
私はそれらを書き始めたばかりなので、まだ「肉」はありません。大きな問題や提案があれば、遠慮なく指摘してください。
ただし、私の質問は、子コンストラクターが親コンストラクターとどのように対話するかです。私の計画は、親のオブジェクトを開始せずに、単純に CheckOut オブジェクトを作成することです。ご覧のとおり、私の親コンストラクターは 4 つの値を取ります。では、子コンストラクターでこれらの値を再定義する必要がありますか? 明確にするために、私は意味します:
class CheckOut extends DB_MySQL{
function __construct($dbuser, $dbpass, $dbhost, $dbname)
{
parent::__construct($dbuser, $dbpass, $dbhost, $dbname);
}
}
もちろん、それらの変数を定義します。または、オブジェクトを作成するときにこれらの値を追加して、暗黙的に渡すことはできますか?
どんな助けでも大歓迎です。