Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde amigos!
Pois bem, trabalho com php faz uns 4 anos e "achei" que sabia POO, rs.
Porém, há algumas semanas comecei a frequentar o fórum e notei que não sei é nada...minhas classes são um "monte" de funções aglomeradas.
Estou começando a montar um sistema de cadastro/login de usuários e estou com algumas dúvidas.
Bom vamos lá:
tenho as seguintes classes:
class/Users.php
<?php
class User{
private $user_id;
private $nome;
private $email;
private $senha;
// Geters and Seters
public function setIdUser($user_id){
$this->user_id = $user_id;
}
public function getIdUser(){
return $this->user_id;
}
public function setUserNome($nome){
$this->nome = $nome;
}
public function getUserNome(){
return $this->nome;
}
public function setUserEmail($email){
$this->email = $email;
}
public function getUserEmail(){
return $this->email;
}
public function setUserSenha($senha){
$this->senha = $senha;
}
public function getUserSenha(){
return $this->senha;
}class UserDAO{
private $pdo;
public function __construct($pdo){
$this->pdo = $pdo;
$this->pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING );
}
public function insert(User $usuario){
$sql = $this->pdo->prepare('INSERT INTO usuarios (nome, email, senha) VALUES (:nome, :email, :senha)');
$sql->bindValue(':nome' , $usuario->getUserNome());
$sql->bindValue(':email', $usuario->getUserEmail());
$sql->bindValue(':senha', md5($usuario->getUserSenha()));
if ($sql->execute()){
// Query succeeded.
return true;
}else{
// Query failed.
echo $sql->errorCode();
}
}Minha index.php pra teste:
<?php
//Class includes
include ('class/User.php');
include ('dao/UserDAO.php');
//Conexão com Banco de dados
$conexao = new PDO('mysql:host=localhost;dbname=oop','root','123456');
$userDAO = new UserDAO($conexao);
$user = new User;
$user->setUserNome('Thomas Piedade');
$user->setUserEmail('thomas@email.com.br');
$user->setUserSenha('123456');
if($userDAO->insert($user))echo 'Usuario inserido com sucesso!';
Minha duvida é a seguinte...
Pra eu fazer a validação de login do usuário sem quebrar o conceito de SRP, eu tenho que criar uma classe de validação? Ou posso fazer a validação na própria UsersDAO?
Esse é só o começo ...rs. Mas eu comecei já com essa dúvida!
Abraços.
Carregando comentários...