v2.5.2
Giriş yap

PHP İç İçe Class

Anonim
699 defa görüntülendi

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?