Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

PHP OO Nueva Class Opinion

Estas en el tema de Nueva Class Opinion en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Código PHP: <?php class  Login {     protected  $connect ;     protected  $username_i ;     protected  $password_i ;     public function  __construct ( $username , $password ){          $this -> ...
  #1 (permalink)  
Antiguo 07/05/2013, 09:48
 
Fecha de Ingreso: diciembre-2012
Mensajes: 223
Antigüedad: 11 años, 5 meses
Puntos: 2
Nueva Class Opinion

Código PHP:
<?php
class Login{
    protected 
$connect;
    protected 
$username_i;
    protected 
$password_i;
    public function 
__construct($username,$password){
        
$this->connect query("SELECT username,password FROM username WHERE username = '".mysqli_real_espace_string($this->connect$username)."' AND password = '".mysqli_real_espace_string($this->connect$password)."'");
        
$this->username_i $username;
        
$this->password_i $password;
        }
        
    private function 
verificar(){
    
$verificar = array(
        
'verificado' => 'yes',
    );
        if(
$this->connect1 mysqli_fetch_assoc($this->connect)){
            
$verificar['verificado'] = 'yes';
        }else{
            
$verificar['verificado'] = 'no';
        }
        return 
$verificar['verificado'];
    }
}

class 
MySQL extends Login{
    public 
$connect;
    public function 
__construct(){
        
$this->connect mysqli_connect("...","...","...","...");
        return 
$this->connect;
    }
    
    public function 
query($query){
        
mysqli_query($this->connect$query);
        return 
$query;
    }
}
?>
  #2 (permalink)  
Antiguo 07/05/2013, 09:54
pr0
 
Fecha de Ingreso: marzo-2004
Mensajes: 687
Antigüedad: 20 años, 1 mes
Puntos: 28
Respuesta: Nueva Class Opinion

Mi humilde opinión es que hay millones de clases para login con decenas de métodos que controlan todo y yo no perdería tiempo en hacer una desde cero.

En tu clase veo el uso de las variables muy lioso. Llamar al resultado de una consulta $this->connect1 es un sin sentido y además confunde con el $this->connect.

Una pregunta: ¿para que extiende la clase MySQL a Login?

También sacaría la clase MySQL de la clase Login, es decir, tendría dos archivos distintos.
  #3 (permalink)  
Antiguo 07/05/2013, 09:57
 
Fecha de Ingreso: junio-2012
Ubicación: Venezuela
Mensajes: 68
Antigüedad: 11 años, 10 meses
Puntos: 6
Me gusta, se ve bien aunque la variable $verificar podría ser un boolean y no un arreglo... con un boolean sería un pelin mas optimo ;)

Cita:
Iniciado por pr0 Ver Mensaje
Mi humilde opinión es que hay millones de clases para login con decenas de métodos que controlan todo y yo no perdería tiempo en hacer una desde cero.

En tu clase veo el uso de las variables muy lioso. Llamar al resultado de una consulta $this->connect1 es un sin sentido y además confunde con el $this->connect.

Una pregunta: ¿para que extiende la clase MySQL a Login?

También sacaría la clase MySQL de la clase Login, es decir, tendría dos archivos distintos.
Bueno yo me imagino que está haciendo el extends de Login porque ambas clases están en archivos distintos... si es así si es útil hacer esa herencia... ya que quizás la clase MySQL es la que maneje las conexiones a la BD... repito, si es de esa manera para mi la herencia si tiene sentido,, ahora si todo esta junto en un archivo y dicho archivo maneja conexiones a BD no tiene sentido la herencia...

Última edición por GatorV; 08/05/2013 a las 13:09
  #4 (permalink)  
Antiguo 07/05/2013, 10:07
 
Fecha de Ingreso: diciembre-2012
Mensajes: 223
Antigüedad: 11 años, 5 meses
Puntos: 2
Respuesta: Nueva Class Opinion

Cita:
Iniciado por MagoMarlon Ver Mensaje
Bueno yo me imagino que está haciendo el extends de Login porque ambas clases están en archivos distintos... si es así si es útil hacer esa herencia... ya que quizás la clase MySQL es la que maneje las conexiones a la BD... repito, si es de esa manera para mi la herencia si tiene sentido,, ahora si todo esta junto en un archivo y dicho archivo maneja conexiones a BD no tiene sentido la herencia...
Si, cada uno esta en un archivo diferente, pero el if y como recojo los valores etcc esta bien?

Como por lo visto, hay muchas class de login, yo lo hago porque estoy aprendiendo Me las podeis pasar para verlas? muchisimas gracias.

Hoy creare otra clase que verifique el usuario, si esta baneado o no, actualizo la ip en la db cuando se logea, y no se que mas puedo ponerle.

Última edición por XD2XD2; 07/05/2013 a las 10:13
  #5 (permalink)  
Antiguo 07/05/2013, 10:14
 
Fecha de Ingreso: junio-2012
Ubicación: Venezuela
Mensajes: 68
Antigüedad: 11 años, 10 meses
Puntos: 6
Respuesta: Nueva Class Opinion

Cita:
Iniciado por XD2XD2 Ver Mensaje
Si, cada uno esta en un archivo diferente, pero el if y como recojo los valores etcc esta bien?
Osea en este caso la clase MySQL no necesita declarar "public $conect" ya que esta declarada en la clase padre, y correctamente esta protected. Si quitas esa declaracion de "public $conectect" de la clase MySQL accedes a los datos normalmente... recuerda que el extend lo que hace es "agregarle" ese trozo de clase a la padre y usarla... las variables que declares en la padre no tienes porque declararlas en al hija y viceversa..
  #6 (permalink)  
Antiguo 07/05/2013, 10:22
 
Fecha de Ingreso: diciembre-2012
Mensajes: 223
Antigüedad: 11 años, 5 meses
Puntos: 2
Respuesta: Nueva Class Opinion

Muchas gracias por opinar, tienes alguna class hecha por ti? es para ver como lo hicistes. Esque veo que el if que hice es muy basico y no se si se podria mejorar. El codigo se ve como pobre, mi intension es que se vea PRO
  #7 (permalink)  
Antiguo 07/05/2013, 10:30
 
Fecha de Ingreso: junio-2012
Ubicación: Venezuela
Mensajes: 68
Antigüedad: 11 años, 10 meses
Puntos: 6
De acuerdo Respuesta: Nueva Class Opinion

Cita:
Iniciado por XD2XD2 Ver Mensaje
Muchas gracias por opinar, tienes alguna class hecha por ti? es para ver como lo hicistes. Esque veo que el if que hice es muy basico y no se si se podria mejorar. El codigo se ve como pobre, mi intension es que se vea PRO
la verdad ahorita no tengo un código propio, te digo que este está bien, lo único que cambiaría es esto

Código PHP:
private function verificar(){
    
$verificar =FALSE;
        if(
$this->connect1 mysqli_fetch_assoc($this->connect)){
            
$verificar=TRUE;
        }else{
            
$verifica=FALSE;
        }
        return 
$verificar;
    } 
Y lo que te dije de la variable,, creeme si ese código lo hiciste tu úsalo ;)

Etiquetas: class, mysql, php, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:06.