Categorías: Tutoriales

Cursos PHP orientado a objetos – Crear una clase (atributos y propiedades)

Lo primero que haremos será declarar la clase con sus atributos en PHP. La operación es muy similar a la declaración de un struct en C o de otro elemento similar en otro lenguaje.

Comenzaremos definiendo los atributos. Delante de cada uno indicamos el tipo de atributo del que se trata (público, privado o protegido). Si no indicamos nada, el atributo será considerado público (además, es posible que nos lance algún tipo de advertencia el intérprete de PHP).

¿Qué es eso de público, privado y protegido?

  • Público (public): Se puede acceder desde fuera de la clase.
  • Privado (private): Sólo se puede acceder desde dentro de la clase.
  • Protegido (protected): Se puede accede desde dentro de la clase y desde clases herederas.

Como éste es un artículo de introducción a la programación orientada a objetos con PHP no voy a centrarme demasiado en definir estos términos, ni otros relacionados como la herencia o el polimorfismo.

Pasemos a implementar ya la creación de nuestra clase usuario siguiendo el diseño propuesto en el punto anterior.

class Usuario{
 private $id;
 private $nombre;
 private $apellidos;
 private $codigoPostal;
}

Pero si son privados, ¿cómo accedemos a los atributos? La solución es crear métodos, funciones propias de la clase, pública que accedan al atributo.

¿Qué ventajas tenemos con esta metodología? Aunque en este caso el acceso va a ser directo, en casos donde haya que realizar una comprobación, nos aseguramos que los objetos de la clase siempre tienen datos válidos, además de ocultar la implementación interna de la clase, creando una caja negra mucho más útil en grandes proyectos. Por ejemplo, un método “setNIF” en el que antes de igualar el atributo al valor enviado por el usuario, se compruebe si la letra del NIF es válida, y en caso de no serlo, no se almacene el nuevo valor.

Veamos la implementación de esos métodos dentro de la clase.

 function getId(){
  return $this->id;
 }

 function setId($id){
  $this->id = $id;
 }

 function getNombre(){
  return $this->nombre;
 }

 function setNombre($nombre){
  $this->nombre = $nombre;
 }

 function getApellidos(){
  return $this->apellidos;
 }

 function setApellidos($apellidos){
  $this->apellidos = $apellidos;
 }

 function getCodigoPostal(){
  return $this->codigoPostal;
 }

 function setCodigoPostal($codigoPostal){
  $this->codigoPostal = $codigoPostal;
 }

¿Qué significa $this? $this es la variable que hace referencia a la instancia actual del objeto. En todos los lenguajes con orientación a objetos existe una variable, que hace referencia al objeto con el que se está trabajando. Si nunca habéis trabajado con este paradigma, lo entenderéis mejor con los ejemplos que desarrollaremos a continuación.

El siguiente paso es la creación del constructor de la clase. Puesto que la clase representa a objetos que se instancia y por lo tanto se crean en memoria, tenemos que tener alguna manera de crearlos para poder trabajar con ellos. El método para crearlos es el constructor.

Veremos como implementarlo en la siguiente entrega.

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

Entradas recientes

DeepSeek

2 días hace

Contacto

2 semanas hace

Smart-tv mute

2 semanas hace

STEAM OS

3 semanas hace

2025

1 mes 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