Redjik
Джедай-мастер
Первые шаги в использовании композиции вместо наследования.
Меня нужно просто наставить на путь истинный, я только начал, но как-то слишком получается зависит у меня класс от реализации, а я пытаюсь от интерфейса плясать - вообщем учусь.
И да - следующим этапом я посмотрю как сделано в зенде и перепишу его.
Меня нужно просто наставить на путь истинный, я только начал, но как-то слишком получается зависит у меня класс от реализации, а я пытаюсь от интерфейса плясать - вообщем учусь.
PHP:
abstract class loginRegister{
private $mail;
/**
* @var dbLogRegAbstract
*/
private $db;
/**
* @var userLogRegAbstract
*/
public $user;
/**
* @var sessionLogRegAbstract
*/
public $sesion;
public function init() {
$this->session = $this->getSession();
$this->db = $this->getDbObj();
if ($this->sesion){
$this->user = $this->getUserFromSession();
}
}
abstract public function getDbObj();
abstract public function getMailObj();
abstract public function getSession();
public function login($login,$password){
$validator = LogRegValidator::getInstance()->checkLogin($login);
$validator->checkString($password);
if (!$validator->errors()){
$this->getUser($login);
}
}
public function register(){
}
public function passrecover(){
}
public function getUserFromSession(){
$this->user = $this->db->getUserByKey($this->session);
return $this->user;
}
public function getUser($login){
$this->user = $this->db->getUser($login);
return $this->user;
}
}