Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/07/2010, 19:36
Avatar de richicasas
richicasas
 
Fecha de Ingreso: abril-2007
Ubicación: Colombia
Mensajes: 692
Antigüedad: 17 años, 8 meses
Puntos: 13
De acuerdo Declarar todos los atributos como private en el modelo Usuario, es bueno ??

Hola a todos,

Realmente no soy experto en POO con PHP. Ya que vengo de programación estructurada.

Tengo en mi modelo usuario una clase llamada Usuario y quiero declarar todos sus atributos como private para usarlo de la siguiente forma en un sistema de login.

Usuario.php (modelo )
Código PHP:
<?php
    
class Usuario {
        private 
$id;
        private 
$user;
        private 
$clave;
        private 
$name;
        private 
$tipo;

        public function 
__construct($name$user$clave)
                {
                 
$this->id NULL;
                     
$this->user $user;
                     
$this->clave $clave;
                     
$this->name $name;
                     
$this->tipo 1;    
                 }
        
/*
 He visto en varias clases de login que en verificar() pasan los parametros que vienen por POST, y yo quiero saber si hacerlo asi como yo lo estoy haciendo mejora un poco la seguridad del sistema o si incumplo alguna regla del MVC o del POO.

NOTA: La pregunta es solo esa, mas no como brindar mas seguridad, pues aqui solo muestro lo basico de la clase, mas no las diferentes validaciones o metodos de seguridad.
*/
        
public function verificar(){
            
$result $db->query("SELECT * FROM usuario WHERE nombre_usuario = '$this->user' AND contrasena = '$this->clave'");
            if(
$db->numero_result($result)>0)
                            return 
true;
                        else
                            return 
false;
                       
        }
        
        
    }
?>
controlador.php ( masomenos lo usaria asi )

Código PHP:
       $usuario = new usuario(null$_POST['user'], $_POST['clave']);
       if(
$usuario->verificar())
          echo 
"logueo exitoso";
      else
          echo 
"error"
Muchas gracias por la ayuda.
__________________
Juguetes Sexuales