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

Constructores PHP

Estas en el tema de Constructores PHP en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola amigos de foros del web les tengo una pregunta que le agradeceria si me respondieran el problema es que en un clase php tengo ...
  #1 (permalink)  
Antiguo 10/02/2007, 23:47
Avatar de Scorpion05  
Fecha de Ingreso: noviembre-2006
Mensajes: 31
Antigüedad: 17 años, 5 meses
Puntos: 0
Pregunta Constructores PHP

Hola amigos de foros del web les tengo una pregunta que le agradeceria si me respondieran el problema es que en un clase php tengo un constructor por defecto y otro con parametros.Por Ejemplo

function Usuario()
{

include_once('class.MySQL.php');
$this->mysql = new mysql();
}
linea 15: function Usuario($user,$pass)
{
include_once('class.MySQL.php');
$this->mysql = new mysql();
$this->user = $user;
$this->pass = $pass;

}

y me da el siguiente error

Fatal error: Cannot redeclare Usuario::Usuario() in C:\wamp\www\paco\Class\class.Usuario.php on line 15

Les agradeceria una respuesta.Saludos
  #2 (permalink)  
Antiguo 11/02/2007, 00:42
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Constructores PHP

PHP no soporta como Java multiples constructores, lo que puedes hacer es algo asi:
Código PHP:
include_once( 'class.MySQL.php' );

class 
Usuario {
       private 
$mysql;
       private 
$user;
       private 
$pass;

       public function 
__construct() {
               
$this->mysql = new mysql();
               
$args func_get_args();
               if( 
count$args ) == ) {
                     list( 
$user$pass ) = each$args );
                     
$this->user $user;
                     
$this->pass $pass;
               }
       }

  #3 (permalink)  
Antiguo 11/02/2007, 01:32
Avatar de Scorpion05  
Fecha de Ingreso: noviembre-2006
Mensajes: 31
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: Constructores PHP

ok gracias amigo
  #4 (permalink)  
Antiguo 12/02/2007, 08:48
Avatar de vanetino  
Fecha de Ingreso: diciembre-2006
Ubicación: Lima, Peru
Mensajes: 22
Antigüedad: 17 años, 4 meses
Puntos: 0
Re: Constructores PHP

Hola Scorpion05, tal vez te sirva tambien esto.

include_once('class.MySQL.php');

class Usuario{
private $mysql;
private $user="user";
private $pass="password";

function Usuario($user='', $password='')
{
$this->mysql = new mysql();
if($user!='' && $password!=''){
$this->user = $user;
$this->pass = $pass;
}
}
}
  #5 (permalink)  
Antiguo 01/05/2007, 15:07
 
Fecha de Ingreso: febrero-2006
Mensajes: 1
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Constructores PHP

Hola, ahora es la primera ves que me topo coneste problema, y busque como loco sobre ello sin encontrar nada claro en realidad, lla que esta solucion que dan es uy espesifica a algo que esta haciendo la persona que pregunto, asi que me quebre la cabeza buscando que demonios podia ser, e inclontre que si por circunstansias de indole desconosido (error de factor distraido) esta la funcion llamada una segunda ves lla sea como funcion o como include el error se mostrar ahasta que reprogramemos todo paso a paso y ver que el problema esta ahi tan evidente, espero que esto le solucione la vida a alguin mas y que estos expertos de foros del web que tienen as de 5 años resolbiendo mis dudas les pueda alludar a que mas usuarios sigan en pro de este lenguaje.
  #6 (permalink)  
Antiguo 01/05/2007, 21:21
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Constructores PHP

No entiendo nada de lo que dices...
  #7 (permalink)  
Antiguo 02/05/2007, 03:08
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Re: Constructores PHP

Cita:
Iniciado por GatorV Ver Mensaje
No entiendo nada de lo que dices...
Es que hace daño a la vista y todo
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 05:40.