Autor Tema: [DUDA] Constructores  (Leído 1018 veces)

Desconectado ferdi342

  • PHPero Experto
  • *****
  • Mensajes: 734
  • Karma: 8
  • Sexo: Masculino
  • Gúgol
    • Ver Perfil
    • Google - La solución a todo
[DUDA] Constructores
« en: 09 de Octubre de 2011, 23:20:26 pm »
Hola creo que llevo bastante tiempo con el PHP y creo que he alcanzado el nivel necesario para empezar con POO.

He estado mirando por todos lados y de momento lo entiendo todo exceptuando el constructor, no su estructura si no su funcionalidad. He mirado en mis libros, por Internet, en los tutoriales que hay en el foro pero.. ¡no acabo de entender la funcionalidad del constructor!

¿Alguien me lo podría explicar?

Gracias.
A veces hay que dejar terminar cosas buenas para que empiecen mejores, How I Met Your Mother

Comunidad PHPeros

[DUDA] Constructores
« en: 09 de Octubre de 2011, 23:20:26 pm »

Desconectado Physlet

  • PHPero Experto
  • *****
  • Mensajes: 822
  • Karma: 41
  • Sexo: Masculino
  • Todo es posible con esfuerzo, dedicación e interés
    • Ver Perfil
    • PanamaDev
Re:[DUDA] Constructores
« Respuesta #1 en: 09 de Octubre de 2011, 23:39:05 pm »
Buenas tardes,

El constructor es un método que se ejecuta justo cuando creas un objeto.

Por ejemplo:

$obj = new Hola();

Si te fijas, tienes el nombre de la clase seguido de dos paréntesis. Esos paréntesis son los que designan una "función", ya que entre esos paréntesis van argumentos.
Lo que tú envíes dentro de los paréntesis es lo que en PHP recibirá el método __construct().

La "gracia" del constructor es realizar todos los procesos necesarios para inicializar el objeto apropiadamente, ya sea como ejecutar alguna función o inicializar atributos de la clase.

Desconectado ferdi342

  • PHPero Experto
  • *****
  • Mensajes: 734
  • Karma: 8
  • Sexo: Masculino
  • Gúgol
    • Ver Perfil
    • Google - La solución a todo
Re:[DUDA] Constructores
« Respuesta #2 en: 09 de Octubre de 2011, 23:55:44 pm »
Haber si lo he entendido, ¿el construct recibe los parámetros de una función?, ¿un construct en el código va dentro de una función o puede ir fuera?, ¿lo que va después de los dos guiones bajos es el nombre de la función de la cual recibirá los parámetros (como si fuera extends con una subclase)?

Gracias y perdona por tanta pregunta, pero me interesa el tema.
A veces hay que dejar terminar cosas buenas para que empiecen mejores, How I Met Your Mother

Desconectado Physlet

  • PHPero Experto
  • *****
  • Mensajes: 822
  • Karma: 41
  • Sexo: Masculino
  • Todo es posible con esfuerzo, dedicación e interés
    • Ver Perfil
    • PanamaDev
Re:[DUDA] Constructores
« Respuesta #3 en: 10 de Octubre de 2011, 00:02:58 am »
¿el construct recibe los parámetros de una función? ¿un construct en el código va dentro de una función o puede ir fuera?
El constructor es un método/función de una clase.

¿lo que va después de los dos guiones bajos es el nombre de la función de la cual recibirá los parámetros (como si fuera extends con una subclase)?
En POO en general, el método constructor se ha de llamar igual que la clase, para distinguirlo de los demás métodos. Pero en PHP se recomienda usar el nombre __construct para referirse al método constructor de la clase. Así tal cual lo he escrito.

Desconectado ferdi342

  • PHPero Experto
  • *****
  • Mensajes: 734
  • Karma: 8
  • Sexo: Masculino
  • Gúgol
    • Ver Perfil
    • Google - La solución a todo
Re:[DUDA] Constructores
« Respuesta #4 en: 10 de Octubre de 2011, 00:06:19 am »
¿Qué diferencia hay pues entre crear una función y/o crear un __construct dentro de una clase?


Gracias.
A veces hay que dejar terminar cosas buenas para que empiecen mejores, How I Met Your Mother

Desconectado Physlet

  • PHPero Experto
  • *****
  • Mensajes: 822
  • Karma: 41
  • Sexo: Masculino
  • Todo es posible con esfuerzo, dedicación e interés
    • Ver Perfil
    • PanamaDev
Re:[DUDA] Constructores
« Respuesta #5 en: 10 de Octubre de 2011, 00:10:15 am »
¿Qué diferencia hay pues entre crear una función y/o crear un __construct dentro de una clase?
Gracias.
El constructor es un método que se ejecutará automáticamente al crear el objeto, su mismo nombre lo define: "construye el objeto". Es como un "método especial".
Las otras funciones que declares las llamarás de acuerdo a lo que quieras hacer con eso.

Desconectado ferdi342

  • PHPero Experto
  • *****
  • Mensajes: 734
  • Karma: 8
  • Sexo: Masculino
  • Gúgol
    • Ver Perfil
    • Google - La solución a todo
Re:[DUDA] Constructores
« Respuesta #6 en: 10 de Octubre de 2011, 00:14:59 am »
Gracias, practicaré un poco y la dominaré del todo.

K+ por resolver mis dudas  ;)
A veces hay que dejar terminar cosas buenas para que empiecen mejores, How I Met Your Mother