Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/11/2009, 14:00
Avatar de MarioAraque
MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 15 años, 2 meses
Puntos: 265
Definir un constructor correcto para una clase

Buenas que tal?

Estoy aca para pedir su ayuda, ya que me gustaria seguir mi desarrollo en buenos pasos.

Tengo una clase, Tenista, en la cual al constructor lo defini asi:

Código PHP:
public function __construct($id){
            
$query sprintf("SELECT * FROM tenistas WHERE id='%d'",mysql_real_escape_string($id));
            
$result mysql_query($query,$conexion) or die(mysql_error());
            if(
mysql_num_rows($result) == 1){
                
$fila mysql_fetch_object($result);
                
$this->_id $fila->id;
                
$this->_nombre $fila->nombre;
            }
        } 
Eso anda perfecto, sin embargo me surgio una duda. En el momento que yo quiera agregar un nuevo Tenista a mi base de datos, seria correcto que haga esto?

Código PHP:
$tenista = new Tenista(1);
$tenista->setNombre("Mario Araque (ARG)");
$tenista->insert(); //Esta funcion agregaria a la base de datos lo que tenga en la clase 
Seguro que funcione, lo que veo medio "cutre" es el hecho de declarar un nuevo Tenista con un id aleatorio (pudiera poner cualquier numero), solo para cambiarle el nick e insertarlo. El tenista con ID=1 no se modificaria puesto que no use la funcion update, si no insert.

Que hago mal? Mas alla de que funcione no lo veo muy lindo y siento que puede haber una mejor solucion. Creen que lo mejor es poner un constructor vacio en estos casos? Y yo completar la informacion como quiera.

Gracias por todo, de verdad.

Saludos.