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

funcion contruct

Estas en el tema de funcion contruct en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Buenas, recien estoy aprendiendo php y en el manual , como es de php5 empieza a explicar POO con php. Hay algo que no entiendo, ...
  #1 (permalink)  
Antiguo 29/12/2008, 17:36
 
Fecha de Ingreso: junio-2008
Mensajes: 51
Antigüedad: 15 años, 10 meses
Puntos: 0
funcion contruct

Buenas, recien estoy aprendiendo php y en el manual , como es de php5 empieza a explicar POO con php. Hay algo que no entiendo, que es la funcion construct.
en el libro esta esta explicacion:
Cita:
Función constructor
Existen algunas funciones especiales en la definición de una clase. La más
importante es el constructor. Esta se ejecuta cada vez que se crea un nue-
vo objeto y permite crear las variables iniciales que se necesitan, como el
título de la Web o el autor. El nombre de la función debe ser cons -
truc t () . Nuestro constructor se encargará de crear el título de la página
Web que estamos creando:

function construct($titulo )
{
$this->setTitulo($titulo);

}
lo que entiendo, es que en ese caso, apenas creo el objeto se va llamar la funcion SetTitulo($titulo). pero lo que no entiendo es, para que me sirve llamar a esa funcion? si esa funcion lo que hace es poner el titulo que yo quiera y si no le indico nada, no va a poner ningun titulo por defecto, y en caso de que tenga una opcion por defecto, como haria para que cuando llamo al objeto me cree la funcion con el titulo que yo quiera?
me mezcle un poco, perdonen

si tienen un ejemplo mas claro de como usar la funcion construct se los agradezco mucho

saludos!
  #2 (permalink)  
Antiguo 29/12/2008, 22:03
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 7 meses
Puntos: 55
Respuesta: funcion contruct

bueno primero la funcion es __construct() usandola de esta forma toma automaticamente el nombre de la clase para evitar cambios de funciones si tienes q cambiar el nombre de la clase, entre otras cosas

luego la funcion constructora se ejecuta por unica vez cuando creas una instancia de la clase con new

$auto= new Automovil();

y tienes

class Automovil {
//aqui pones los atributos de la clase
public function __construct(){
//aqui pones lo que quieres setear por defecto
}
//aqui pones el resto de los metodos
}

la idea del ejemplo

function construct($titulo )
{
$this->setTitulo($titulo);
}

es q si ya tienes una funcion que asigne un valor a un atributo no hace falta que vuelvas a escribirlo

osea es mejor hacer

$this->setTitulo($titulo);

que

$this->titulo=$titulo;

en este ejemplo talvez no se termina de notar pero si por ejemplo al titulo le quieres hacer alguna tranformacion, agregarle un sufijo o lo que fuere lo haces todo dentro de la funcion sin tener q preoucparte o estarte acordadndo en que otros lugares asignavas valores al titulo
espero que te quede un poco mas claro

saludos
__________________
Degiovanni Emilio
developtus.com
  #3 (permalink)  
Antiguo 30/12/2008, 14:49
 
Fecha de Ingreso: junio-2008
Mensajes: 51
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: funcion contruct

muchas gracias, ahora voy entendiendo mejor :D
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 07:11.