Programación orientada a objetos en PHP: Introducción

Este post trata sobre la programación orientada a objetos en PHP (POO). Antes para «navegar» dentro un programa se usaban funciones como GOTO y GOSUB pero hoy en día la POO lleva el uso de funciones a otro nivel.

Cuando consigues almacenar un gran número de código reusable en funciones no es mala idea agrupar esas funciones en objetos.

Ya que está muy de moda las redes sociales podríamos poner un ejemplo. En una red social hay código para registrar usuarios, modificar perfiles etc. En PHP crearías funciones que realizan llamadas a la base de datos para realizar esas tareas.Sería más sencillo y simplificado crear objetos que representen a un usuario. Para hacerlo crearías una clase llamada Usuario y dentro tendría el código necesario para manejarlos y controlar los datos. Entonces, cada vez que quieras manipular los datos del usuario, simplemente bastaría con crear un nuevo objeto de la clase Usuario.

Podrías tratar el objeto nuevo como el usuario actual. Por ejemplo, cuando se loguee obtienes los datos de la Base de datos y con ellos creas el objeto pasando el nombre, contraseña y correo electrónico. También se puede aplicar cuando se registre, con los datos introducidos crear un objeto y sobre él comprobar si existe el usuario.

Un poco de terminología

Para usar objetos en PHP, necesitas diseñar un conjunto de código llamado clase. Luego, cuando creas un objeto basado en esa clase en realidad estas haciendo una instancia de esa clase.

Los datos asociados a un objeto son denominadas propiedades(nombre, contraseña, etc) y las funciones que tenga son métodos(crear usuario, login etc). Un objeto podrías aplicarlo a la vida diaria. Por ejemplo el mítico jukebox de música. Cada CD podría ser un conjunto de propiedades y el método para reproducirlo sería el botón de Play. También está el hueco de las monedas (método para activar el objeto) y el lector de disco (método para recoger la música o propiedades del CD).

Cuando creas objetos es mejor usar la encapsulación. Esto significa que manipules las propiedades del objeto usando métodos. Es decir, si quieres obtener el nombre de un usuario no emplees usuario.nombre sino usuario.getNombre(). Los métodos que proporcionas son conocidos como la interfaz del objeto.

Ventajas de usar clases

Al usar clases a la hora de debuggear código es más fácil saber donde falla. También cuando actualices el programa puedes añadir nuevas clases que sustituyan a las viejas. Y si saliera mal siempre podrías volver atrás con facilidad.

Cuando creas una clase, es posible que tengas otra similar y quieras usar métodos o propiedades de esta. Para ello crearías la nueva clase usando la herencia. Con esto, la nueva clase heredaría todas las propiedades y métodos de la clase. Cuando esto sucede la clase original se denomia superclase y la nueva subclase.

Y hasta aquí la introducción de programación orientada a objetos en PHP, espero que los que seais nuevos en esto no os haya resultado complicado. Buen finde 🙂