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

Duda sobre Programación Orientada a Objetos

Estas en el tema de Duda sobre Programación Orientada a Objetos en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Estoy desarrollando un script para probar las ventajas del desarrollo en PHP orientado a objetos pero tengo dudas ya que estoy creando una clase para ...
  #1 (permalink)  
Antiguo 18/03/2008, 06:09
Avatar de alaintm  
Fecha de Ingreso: marzo-2007
Mensajes: 149
Antigüedad: 17 años, 1 mes
Puntos: 1
Duda sobre Programación Orientada a Objetos

Estoy desarrollando un script para probar las ventajas del desarrollo en PHP orientado a objetos pero tengo dudas ya que estoy creando una clase para el manejo de BD con MySQL pero no logro que me funciones la parte de mostrar los registros o la forma que escoji no se si es la correcta, aquí les muestro el código. Es parte de un ejercicio así que vienen bien todas las sugerencias ya que me piden que sea lo más óptimo y funcional posible.

Código PHP:
class phpMYSQL
  
{
    private 
$conexion;

    function 
conectar($servidor$usuario$password$bd)
    {
      
$this->conexion mysql_connect($servidor$usuario$password$bd);
      
mysql_select_db($bd$this->conexion);
    }

    function 
desconectar()
    {
      
mysql_free_result($this->consulta());
      
mysql_close($this->conexion);
    }

    function 
consulta(){
      return 
mysql_query("SELECT * FROM militantes"$this->conexion);
    }
  }
  
$mysql = new phpMYSQL();
  
$mysql->conectar("localhost""usuario""clave""bd");

  
$resultado $mysql->consulta();

  while(
$registro mysql_fetch_object($resultado)){
    echo 
"$registro->ci<br />";
  }

  
$mysql->desconectar(); 
Agradezco de antemano su ayuda
  #2 (permalink)  
Antiguo 18/03/2008, 06:18
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 19 años, 6 meses
Puntos: 48
Re: Duda sobre Programación Orientada a Objetos

En el mysql_connect() se te ha colado un cuarto parametro.
  #3 (permalink)  
Antiguo 18/03/2008, 06:59
Avatar de alaintm  
Fecha de Ingreso: marzo-2007
Mensajes: 149
Antigüedad: 17 años, 1 mes
Puntos: 1
Re: Duda sobre Programación Orientada a Objetos

Gracias, además haz encontrado alguna deficiencia en el código?
  #4 (permalink)  
Antiguo 18/03/2008, 09:28
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Duda sobre Programación Orientada a Objetos

Trasladado a PHP Orientado a Objetos.
  #5 (permalink)  
Antiguo 21/03/2008, 07:33
Avatar de pragone  
Fecha de Ingreso: diciembre-2007
Ubicación: Madrid
Mensajes: 223
Antigüedad: 16 años, 4 meses
Puntos: 2
Re: Duda sobre Programación Orientada a Objetos

Hola alaintm,

Pues todo depende de lo que buscas.

Sin embargo, me parece que es un poco limitado y veo un error en tu función desconectar. invocas a un free result que a su vez invoca a un mysql_query... esto hace que cuando te desconectes realices una query sin necesidad.

Saludos,
__________________
pragone
Blog: Desarrollo, comunidad y monetización
Últimos artículos: Tips de Smarty
  #6 (permalink)  
Antiguo 21/03/2008, 07:37
Avatar de alaintm  
Fecha de Ingreso: marzo-2007
Mensajes: 149
Antigüedad: 17 años, 1 mes
Puntos: 1
Re: Duda sobre Programación Orientada a Objetos

En que sentido te refieres a limitado?, que puede ser variado para mejorarlo
  #7 (permalink)  
Antiguo 21/03/2008, 07:45
Avatar de pragone  
Fecha de Ingreso: diciembre-2007
Ubicación: Madrid
Mensajes: 223
Antigüedad: 16 años, 4 meses
Puntos: 2
Re: Duda sobre Programación Orientada a Objetos

Hola alaintm,

Pues yo no colocaría los SQL directamente en la clase, sino que lo haría como un parámetro de consulta. Además, haría otros métodos que hagan cosas comunes como un fetchAll y un fetchOne que hagan la query y traigan todos o un solo registro respectivamente.

Podrías hacer también que los parámetros que debas pasar a las queries sean escapados por la clase, para ya estar seguro de evitar ataques de inyección de SQL

Si me permites la recomendación, mira la documentación de POD o de MDB2 y fíjate en los métodos que tienen y los parámetros que reciben.

Saludos
__________________
pragone
Blog: Desarrollo, comunidad y monetización
Últimos artículos: Tips de Smarty
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 22:51.