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

Declarar constructores, ¿cuál es la diferencia?

Estas en el tema de Declarar constructores, ¿cuál es la diferencia? en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola amigos foreros. Estoy empezando en la POO con PHP mi duda es sencilla creo. Bien en mi clase creé un constructor con el mismo ...
  #1 (permalink)  
Antiguo 18/08/2008, 10:21
Avatar de memoo  
Fecha de Ingreso: marzo-2008
Mensajes: 89
Antigüedad: 16 años, 1 mes
Puntos: 1
Declarar constructores, ¿cuál es la diferencia?

Hola amigos foreros. Estoy empezando en la POO con PHP
mi duda es sencilla creo.

Bien en mi clase creé un constructor con el mismo nombre de la clase (práctica común de programación con java por ejemplo) pero leí que para un constructor se debe declarar con __construct()

lo probé con las dos formas y de las dos formas funciona, entonces, cuál es la diferencia?

Saludos

y gracias de antemano.
__________________
And how can't we win? When fools can be kings, don't waste your time, or time will waste you...
Knights Of Cydonia
MUSE ROCKS
  #2 (permalink)  
Antiguo 18/08/2008, 11:57
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
Respuesta: Declarar constructores, ¿cuál es la diferencia?

Hola memoo,

La forma del mismo nombre de la función se ocupaba antes cuando se usaba PHP4, ahora en PHP5 es __construct y __destruct, debes de usar estos métodos ya que es la forma oficial de hacerlo y es probable que para PHP6 marque un error fatal si lo haces de la forma antigua.

Saludos.
  #3 (permalink)  
Antiguo 18/08/2008, 12:07
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 18 años, 11 meses
Puntos: 32
Respuesta: Declarar constructores, ¿cuál es la diferencia?

Cita:
Iniciado por memoo Ver Mensaje
Bien en mi clase creé un constructor con el mismo nombre de la clase (práctica común de programación con java por ejemplo) pero leí que para un constructor se debe declarar con __construct()

lo probé con las dos formas y de las dos formas funciona, entonces, cuál es la diferencia?
Como dice mi colega GatorV, se definió para PHP5 varias "palabras reservadas" y entre ellas __construct. A los efectos no cambia mucho (bien dices que así lo hace Java), pero decidieron que así se debe hacer de ahora en más y por compatibilidad con PHP4 aún funciona.

Si le vemos la parte práctica, es más descriptivo y si cambias el nombre de la clase no tienes que estar modificando -además- el constructor.

Es una forma de clarificar.
__________________
Blog phpsenior.com Cursos a Distancia surforce.com

Última edición por enriqueplace; 18/08/2008 a las 16:17
  #4 (permalink)  
Antiguo 18/08/2008, 16:16
Avatar de memoo  
Fecha de Ingreso: marzo-2008
Mensajes: 89
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Declarar constructores, ¿cuál es la diferencia?

Órale! Ahora si ya me quedó claro, y bueno, ahora si estaré usando __construct, aparte le da cierto toque de clase al código. jajaja creo que soy el único que piensa eso.

Saludos y gracias por responder :D
__________________
And how can't we win? When fools can be kings, don't waste your time, or time will waste you...
Knights Of Cydonia
MUSE ROCKS
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 02:38.