Cursos PHP orientado a objetos – Crear una clase (constructor)

Constructor

El constructor en PHP se define como se muestra a continuación:

function __construct($id, $nombre, $apellidos, $codigoPostal){
	$this->id = $id;
	$this->nombre = $nombre;
	$this->apellidos = $apellidos;
	$this->codigoPostal = $codigoPostal;
}

Como podéis apreciar, es una función, con un nombre determinado “__construct” que recibe los parámetros necesarios para la clase y los asigna a los atributos de la clase.

Creando nuestra primera clase

Con todo lo que ya hemos explicado, podemos crear un ejemplo completo. Crearemos un par de objetos inicializándolos con unos valores que introduciremos nosotros y luego los mostraremos por pantalla. Para representarlo haremos uso de HTML.

Si en lugar de incluir nosotros los datos a mano, los incluyéramos a través de, por ejemplo, una conexión con una base de datos MySQL, en la que la clase también apareciera como una tabla, estaríamos creando las bases para una completa aplicación de usuarios con base de datos, que a la vez de fácil de implementar, sería fácil de modificar, mantener y mejorar.

Crearemos los objetos llamando al constructor, los insertaremos en un array y al final, los mostraremos por pantalla recorriendo el array de objetos que acabamos de crear. Usaremos las funciones de acceso a los atributos, ya que si intentamos acceder directamente a ellos nos devolverá el siguiente error al tratarse de atributos privados: “Fatal error: Cannot access private property Usuario::$id”.

<?php include("clases.php"); $vector_usuarios = array(); $tmp = new Usuario(1, "José", "Gómez Martínez", 14004); array_push($vector_usuarios, $tmp); $tmp = new Usuario(2, "Javier", "Pérez García", 28080); array_push($vector_usuarios, $tmp); $tmp = new Usuario(3, "Jorge", "Reina Ramírez", 18001); array_push($vector_usuarios, $tmp); echo "<h2>Ejemplo orientaci&oacute;n a objetos con PHP para Linux Hispano</h2>"; foreach($vector_usuarios as $elemento_vector) { echo "<div> <h3>Usuarios sistema</h3> <ul> <li>Id. - " . $elemento_vector->getId() . "</li> <li>Nombre - " . $elemento_vector->getNombre() . "</li> <li>Apellidos - " . $elemento_vector->getApellidos() . "</li> <li>C&oacute;digo postal - " . $elemento_vector->getCodigoPostal() . "</li> </ul> </div>"; } ?> read more

Leer más » 7 Comentarios