jestem początkujący w OOP i postanowiłem napisać własną klasę logowania. Poniżej kod klasy i jej użycie. Proszę o opinie, uwagi, będę wdzięczny. Nie wiem czy dobrze rozumię niektóre aspekty oop stąd moje zapytanie.
Dzięki.
// użycie klasy na stronie poniżej, pomijam formularz logowania HTML, jedynie kod PHP wklejam: <?php $log = new Authorization(); $log->setUser($user); $log->setPassword($password); $log->Login(); ?>
Kod klasy:
<?php class Authorization { private $_user; private $_password; private $_dbpdo; public function __construct() { try { $pdo = new PDO('mysql:host='.$db["Host"].';dbname='.$db["Name"], $db["User"], $db["Password"]); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $this->_dbpdo = $pdo; } catch(PDOException $error) { } } public function setUser($user) { $this->_user = $user; } public function setPassword($password) { $this->_password = $password; } public function getUser() { return $this->_user; } public function getPassword() { return $this->_password; } public function validateUsr() { if ( ($this->getUser())=='' || ($this->getPassword())=='' ) { exit; } } public function checkIsUsr() { $sql = $this->_dbpdo->prepare("SELECT * FROM users WHERE login=:user AND password=:password LIMIT 1"); $sql->bindValue(':user',$this->getUser(),PDO::PARAM_STR); $sql->bindValue(':password',$password,PDO::PARAM_STR); $sql->execute(); if ($row = $sql->fetch()) { } else { exit; } $sql->closeCursor(); } public function Login() { $this->validateUsr(); $data_user = $this->checkIsUsr(); $_SESSION['id_usr'] = $data_user[0]; $_SESSION['login_usr'] = $data_user[1]; } } ?>