Categorías: Tutoriales

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>";
    }
?>

En la próxima entrega veremos cómo practicar la sobrecarga de funciones en PHP, ya que al no existir como tal, debemos usar una técnica que nos permita imitarla.

F. Javier Carazo Gil

Cofundador de CODECTION, empresa especializada en WordPress, autor de un libro sobre WordPress (el primero en español) y multitud de artículos (en medios físicos y virtuales) sobre el tema. Participa en la comunidad WordPress de forma activa siendo parte del equipo organizador de la WordPress Meetup de Córdoba, dando charlas en diferentes WordCamp y siendo autor y coautor de multitud de plugins libres y premium para WordPress de gran éxito.

Ver comentarios

  • @javier parra: Muchas gracias a ti por seguirnos. Vamos a intentar continuar la línea de cursos que empezamos con C#/Mono y Java, que están teniendo muy buena aceptación en lo que a visitas se refiere.

    ¿Alguna sugerencia de curso interesante aparte de los que ya estamos tratando?

  • @carazo en estos momentos nose me ocurre asi ninguno pero cuando mi mente ande libre densansada y pensatiba ya os comentaré

  • @javier parra: Ya nos dirás por estas líneas, siempre estamos abiertos a aceptar vuestras sugerencias.

    @magtec: Gracias, hoy sale otra entrega y creo que mañana otra, para el fin de semana quizás esté terminado. Voy a empezar a editar más cursos que veo que tienen éxito sobre todo a medio y largo plazo.

  • El tutorial esta muy bien, sin embargo para aquellas personas que recien se estan iniciando en POO PHP podrias explicar, si fuera posible el significado de la codificacion linea por linea.
    Saludos y exitos.

Entradas recientes

DeepSeek

2 días hace

Contacto

2 semanas hace

Smart-tv mute

2 semanas hace

STEAM OS

3 semanas hace

2025

4 semanas hace

El podcast de Linux Hispano – #072 – El hardware libre debe consolidarse como el software libre

https://www.youtube.com/embed/z-xGk9c_eOw Guionista y locutor: Manuel Ignacio López Quintero.Fecha de publicación: 31 de diciembre de 2024.

1 mes hace