Hola. ¿Cómo están? Bienvenidos nuevamente al curso de PHP 8 nivel básico, hoy empezamos con la programación orientada a objetos POO, empezaremos definiendo qué son las clases y objetos en PHP 8.
¡Empecemos!
¿Qué es una clase?
En programación orientada a objetos (POO), una clase es un concepto fundamental que representa un modelo o plantilla para crear objetos. Una clase es una estructura de programación que encapsula datos (atributos) y comportamientos (métodos) relacionados en un solo objeto.
¿Qué es un objeto?
Un objeto en programación orientada a objetos se crea a partir de una instancia de una clase, tiene un estado (características, valores únicos) y un comportamiento (funcionalidades, acciones que sabe hacer). Cada objeto tiene propiedades y métodos intrínsecos, esto quiere decir si se cambia el comportamiento de sus valores o métodos de un objeto este no tiene que afectar a los demás objetos.
La sintaxis para definir una clase en PHP es la siguiente:
class NombreDeLaClase { // Propiedades (variables) de la clase public $propiedad1; private $propiedad2; protected $propiedad3; // Métodos (funciones) de la clase public function metodo1() { // Código del método } private function metodo2() { // Código del método } protected function metodo3() { // Código del método } }
Ejemplos de clases y objetos en PHP
Ahora veremos algunos ejemplos de clases y objetos en PHP. En primer lugar, vamos a crear el archivo clases_objetos.php en el directorio de nuestro proyecto. Para ir probando los ejemplos abrimos nuestro navegador, en la ruta localhost:8080/curso_php8/clases_objetos.php.
Crear las clases
En primer lugar, vamos a crear una clase “Televisor”, esta clase tiene atributos como marca, modelo, color, tamaño y también tiene métodos como prender, cambiar de canal, apagar, etc.
Para crear una clase se comienza con la palabra reservada class, seguido del nombre que le asignemos a la clase y un par de llaves de apertura y cierre.
class Televisor{ }
Una clase tiene sus atributos y funciones, empecemos por crear los atributos de nuestra clase Televisor.
public $marca; public $modelo; public $color; Public $tamanio;
Seguidamente, vamos a crear el constructor de la clase para iniciar los atributos con datos.
function __construct($marca, $modelo, $color, $tamanio){ $this->marca = $marca; $this->modelo = $modelo; $this->color = $color; $this->tamanio = $tamanio; }
Por otro lado, vamos a crear los métodos o funciones que van a interactuar con los atributos de la clase. Primero un método que devolverá la marca y el modelo del televisor concatenado.
public function marcaModelo(){ return $this->marca . " modelo " . $this->modelo; }
En segundo lugar, un método que calcula la antigüedad del televisor de acuerdo al modelo.
public function calcularAntiguedad(){ $antiguedad = 0; for($i = $this->modelo; $i< date("Y"); $i++){ $antiguedad++; } Return "La antiguedad del televisor es: " . $antiguedad; }
Crear los objetos
Por último, vamos a crear un objeto que se instancie de la clase televisor, le pasamos los valores con que se iniciará los atributos del objeto.
$televisor = new Televisor("Samsung", 2018, "Negro", "42 Pulgadas");
Con el objeto creado vamos a llamar a los métodos, primero para concatenar la marca y el modelo y segundo para calcular los años de antigüedad del televisor.
echo $televisor->marcaModelo(); echo $televisor->calcularAntiguedad();
Veamos otro ejemplo, crearemos otro objeto con diferentes valores e igual utilizaremos los métodos de la clase Televisor.
$televisor2 = new Televisor("LG", 1995, "Plomo", "32 Pulgadas"); echo $televisor2->marcaModelo(); echo $televisor2->calcularAntiguedad();
Podemos ver los resultados en el navegador.
Ejercicios de la clase
1.- Definir una clase llamada Persona con atributos como nombre, edad y género y una función de presentación de la persona.
2.- Crear una clase Libro con atributos como título, autor, número de páginas, año de publicación y dos funciones, una para mostrar la información del libro y otra para calcular los años de publicación del libro.
La programación orientada a objetos puede parecer complicada al principio debido a la introducción de nuevos conceptos, como clases, objetos, herencia, entre otros. Sin embargo, a medida que adquieras experiencia y practiques regularmente, se volverá mucho más sencillo.
Hasta aquí la clase de hoy clases y objetos en PHP 8, si tienes alguna consulta puedes dejarnos un comentario. En la próxima clase veremos lo que son herencias de objetos en PHP 8.
Saludos y éxitos.

Victor Peña
Desarrollador de software Backend Developer, experto en Laravel Framework, PHP, JavaScript y MySQL. Creador de contenidos de emprendimiento y desarrollo de software.