Constructores php

Los constructores son funciones o métodos, la mayoría de las veces publicas, que se invocan cada vez que se crea un nuevo objeto, lo que es genial cuando se necesita alguna inicialización

antes de que el objeto pueda se usado en el desarrollo de un programa.

Como funcionan ?

En algunos artículos que estudie, explicaban que el constructor de una clase debía tener el mismo nombre de la clase, osea esto :

class ejemplo{

 function ejemplo(){

    print "Dentro del constructor de ejemplo";

  }

}

pero hace poco leí que esto dejaría de ser tomado como un constructor y solo seria reconocido como un método mas de la función, específicamente en PHP 5.3.3.

Ahora para comenzar a acostumbrarse, solamente debemos dejar de lado la forma tradicional y reemplazarlo por __construct();

Como hacerlo ?


class ejemplo{

 function __construct(){

  print "dentro del constructor de ejemplo";

 }

}

Una de las muchas funciones que se le puede dar a un constructor dentro un código puede ser, que añada el titulo de un sitio cuando sea cree el objeto que utiliza la clase, de esta forma ( una entre tantas )


<?php
  class pagina_web{
	function __construct($titulo){
		$this->set_titulo($titulo);
	}
	private function set_titulo($titulo="default title"){
		$this->titulo=$titulo;
	}
	private function get_title(){
		return $this->titulo;
	}
	protected function head(){
		print "<html><head><title>";
		print $this->get_title();;
		print "</title></head>";
	}
	protected function body(){
		print "<body>";
		print "Aqui esta el cuerpo del sitio";
	}
	protected function pie(){
		print "</body></html>";
	}
	function get_site(){
		$this->head();
		$this->body();
		$this->pie();
	}
  }
  $a=new pagina_web("Mi primer sitio web");
  print $a->get_site();
  ?>

Si encuentras que algo de ahí esta mal hecho o mal explicado, me gustaría saberlo, soy un principiante apasionado y que le gusta aprender 🙂

Saludos 😀

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s