Napisałem klasę która ma obsługiwać użytkownika wydaje mi się, że jest ona nieoptymalna... wstawiam ją aby ktoś z większym doświadczeniem ją obejrzał i mnie nakierował co można zrobić lepiej i co mam poprawić

Klasa:
function removeSlashes(&$value) { { } else { } } class User{ private $id; private $email; private $haslo; public $nazwa; public $opis; public $avatar; public $mode; public $urls; private $sesja; private $pdo; public function __construct($email_ = null, $haslo_ = null){ $this->pdo = new PDO('mysql:host='.MySql_Host.';dbname='.MySql_DbName, MySql_Login , MySql_Password); $this->pdo -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $this->email = $email_; $this->sesja = $_SESSION['token']; $this->Load(); } private function mysql_insert($table, $inserts) { try{ } catch(PDOException $e) { return false; } } public function Rejestruj($nazwa_){ $this->nazwa = $nazwa_; $this->mode = MODE_USER; $stmt = $this->pdo -> query('SELECT * FROM `users` WHERE `haslo`="'.$this->haslo.'" and `email`="'.$this->email.'"'); if($stmt->fetch()) return false; $tmp = $this->mysql_insert('users',array('nazwa'=>$this->nazwa, 'haslo'=>$this->haslo, 'email'=>$this->email, 'mode'=>$this->mode)); if($tmp) return true; return false; } public function Loguj(){ try { $this->sesja = $_SESSION['token']; $this->pdo -> query('UPDATE `users` SET `sesja`="'.$_SESSION['token'].'" WHERE `haslo`="'.$this->haslo.'" and `email`="'.$this->email.'"'); } catch(PDOException $e) { return null; } } public function Wyloguj(){ try { $this->pdo -> query('UPDATE `users` SET `sesja`="NULL" WHERE `sesja`="'.$this->sesja.'"'); } catch(PDOException $e) { return null; } } public function __set($name,$value){ $this->$name($value); } private function Load(){ try { $stmt = $this->pdo -> query('SELECT * FROM `users` WHERE `sesja`="'.$this->sesja.'"'); $row = $stmt->fetch(); $stmt -> closeCursor(); $urls = $this->pdo -> query('SELECT url FROM `user_sites` WHERE `users_id`="'.$row['id'].'"'); foreach($urls as $url){ } $urls -> closeCursor(); $this->opis = $row['opis']; $this->avatar = $row['avatar']; $this->nazwa = $row['nazwa']; $this->mode = $row['mode']; $this->id = $row['id']; } catch(PDOException $e) { return null; } } public function AddUrl($url){ $stmt = $this->pdo -> query('SELECT * FROM `user_sites` WHERE `url`="'.$url.'" and `users_id`="'.$this->id.'"'); if($stmt->fetch()) return false; if($tmp) return true; return false; } public function Opis($value){ $this->opis = $value; try { $this->pdo -> query('UPDATE `users` SET `opis`="'.$this->opis.'" WHERE `sesja`="'.$this->sesja.'"'); } catch(PDOException $e) { return null; } } public function Avatar($value){ $this->avatar = $value; try { $this->pdo -> query('UPDATE `users` SET `avatar`="'.$this->avatar.'" WHERE `sesja`="'.$this->sesja.'"'); } catch(PDOException $e) { return null; } } public function Mode($value){ $this->mode = $value; try { $this->pdo -> query('UPDATE `users` SET `mode`="'.$this->mode.'" WHERE `sesja`="'.$this->sesja.'"'); } catch(PDOException $e) { return null; } } }
Logowanie:
require_once('class/user.class.php'); $user = new User('test','test'); $user -> Loguj();
Update/Odczyt danych:
require_once('class/user.class.php'); $user = new User(); $user->Opis = 'adad'; $user->AddUrl ='http://wp.pl';
Wylogowanie:
require_once('class/user.class.php'); $user = new User(); $user->Wyloguj();
Struktura SQL:
CREATE TABLE IF NOT EXISTS `users` ( `id` INT NOT NULL AUTO_INCREMENT , `nazwa` VARCHAR(45) NULL , `email` VARCHAR(45) NULL , `haslo` VARCHAR(45) NULL , `opis` TEXT NULL , `avatar` VARCHAR(128) NULL , `mode` INT NULL , `sesja` VARCHAR(45) NULL , PRIMARY KEY (`id`) ) ENGINE = MyISAM DEFAULT CHARACTER SET = utf8 COLLATE = utf8_general_ci PACK_KEYS = DEFAULT;
Pozdrawiam
Rav