PHP İç İçe Class
Merhaba, PHP OOP ile bi site yazmaya çalışıyorum ve bir yerde takıldım. Bu yüzden soru sormak istiyorum.
DB Class'ım:
class DB {
function __construct($host, $dbname, $username, $password) {
try {
parent::__construct("mysql:host=". $host .";dbname=". $dbname .";charset=utf8", "". $username ."", "". $password ."");
$this->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$this->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
} catch (PDOException $e) {
$this->showError($e);
}
}
function select($sql, $values) {
try {
$query = $this->prepare($sql);
$query->execute($values);
if($query->rowCount()) {
return $query->fetch(parent::FETCH_ASSOC);
}
return false;
} catch(PDOException $e) {
$this->showError($e);
}
}
}
Burada da init.php'de DB class'ını çağırıyorum.
$db = new DB($config["db"]["host"], $config["db"]["name"], $config["db"]["user"], $config["db"]["password"]);
Benim istediğim şey yeni bir class'a DB classını kalıtım ile almak. Bunu yaparken bağlantı bilgilerini yeniden yazmak istemiyorum ama.
Yani bu şekilde kullanmak istiyorum:
class User extends DB {
function isLogin() {
if($_SESSION["user_id"]) {
return $this->select("SELECT * FROM `users` WHERE user_id = ?", [$user_id]);
}
return false;
}
}
Ama hata alıyorum. Bunun bir yolu var mıdır?