Ver Mensaje Individual
  #4 (permalink)  
Antiguo 13/08/2008, 08:38
Avatar de enriqueplace
enriqueplace
 
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 19 años
Puntos: 32
Respuesta: ¿Así que PHP5 no adminte multiples constructores?

Es así, es distinto a Java, no puedes tener múltiples métodos con nombres iguales pero con firmas distintas (diferencias en los parámetros).

De todas formas, es una práctica bastante discutida, ya que no siempre ayuda a terminar con un buen diseño, ya que en vez de tener un solo método que hace una tarea concreta tienes múltiples métodos que parecen ser el mismo pero que en realidad hacen cosas distintas... entonces... son métodos iguales o distintos? deberían llamarse igual?

Sugerencias para estos casos:
  • Crea métodos distintos según el tema
  • Si requieres variación en la firma, crea un array o un "objeto parámetro" y oculta dentro las distintas opciones.
  • Para el caso del constructor, piensa conceptualmente cual es la mínima información que define al objeto para estar creado de forma elemental, y posteriormente usar métodos get / set según la necesidad.
Por ejemplo, si dices que en tu contexto una clase Usuario puede crearse con id y nombre, pero puede no tener clave y tal vez ni email, aunque hay casos que tienes todos estos datos al crear el objeto, puedes resolver que:

"La información básica para crear el usuario es id y nombre", posteriormente asignas la clave y el email si cuentas con ellos.
__________________
Blog phpsenior.com Cursos a Distancia surforce.com