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ó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ódigo postal - " .
$elemento_vector->getCodigoPostal() . "</li>
</ul>
</div>";
}
?> read more