Account Klasse - Funktionen hinzufügen oder ableiten?

ms92

Mitglied
Hallo,
ich programmiere schon seit längerem PHP-Anwendungen, allerdings noch nicht objektorientiert. Ich habe nun folgende Klasse namends Account:
PHP:
class Account {
	private $userID = NULL;  
	private $cxn;           // Objekt Datenbankverbindung
	private $table_name; 
	private $message;
	private $user_name
	
	function __construct( mysqli $cxn,$table,$user_name){
		$this->cxn = $cxn;
		if(is_string($table)){
			$sql = "SHOW TABLES LIKE '$table'";
			$result = $this->cxn->query($sql);
			if($result->num_rows > 0){
				$this->table_name = $table;
			} else { 
				throw new MyException("$table ist keine Tabelle in der Datenbank");
				return FALSE;
			}
		} else {
			throw new MyException("Zweiter Parameter ist kein gültiger Tabellenname");
			return FALSE;
		}
	}
	
	function selectAccount($userID){
		$userID = trim($userID);
		$sql = "SELECT user_name FROM $this->table_name WHERE user_name ='$userID'";
		if(!$result = $this->cxn->query($sql)){
			throw new MyException("Konnte Abfrage nicht starten: ".$this->cxn->error());
			return FALSE;
		}
		if($result->num_rows < 1 ){
			$this->message = "Konto $userID existiert nicht!";
			return FALSE;
		} else {
			$this->userID = $userID;
			return TRUE;
		}
	}
	
	function comparePassword($form_password) {
		if(!isset($this->userID)){
			throw new MyException("Kein Konto selektiert");
			exit();
		}
		$sql = "SELECT username FROM $this->table_name WHERE username ='$this->userID' AND password = '$form_password'";
		if(!$result = $this->cxn->query($sql)){
			throw new MyException("Konnte Abfrage nicht starten: ".$this->cxn->error());
			exit();
		}
		if($result->num_rows < 1 ){
			$this->message  = "Falsches Passwort für Konto $this->userID!";
			return FALSE;
		} else {
			return TRUE;
		}
	
	function getMessage(){
		return $this->message;
	}
}
Ich möchte das nun noch erweitern um Funktionen wie getDetails (in der Datenbank liegt z.B. noch die E-Mailadresse) und isAdmin (fragt ab, ob der User Admin recht hat) und evtl noch mehr. Meint ihr da sollte ich eine abgeleitete Klasse erstellen oder einfach die Funktionen da hinzufügen?
Viele Grüße
ms92
 
Zuletzt bearbeitet:
Meiner Meinung nach gehört das zur Klasse daszu, wie Email abfragen und Adminrechte erfragen.
 
Zurück