Saltar la navegación

1.1.- Características de orientación a objetos en PHP.

Dibujo en azul de una ficha de puzle
Everaldo Coelho (GNU/GPL)

Seguramente todo, o la mayoría de lo que acabas de ver, ya lo conocías, y es incluso probable que sepas utilizar algún lenguaje de programación orientado a objetos, así que vamos a ver directamente las peculiaridades propias de PHP en lo que hace referencia a la POO.

Como ya has visto en las unidades anteriores, especialmente con las extensiones para utilizar bases de datos, con PHP puedes utilizar dos estilos de programación: estructurada y orientada a objetos.

// utilizando programación estructurada
$conProyecto = mysqli_connect('localhost', 'gestor', 'secreto', 'proyecto');
// utilizando POO
$conProyecto = new mysqli();
$conProyecto->connect('localhost', 'gestor', 'secreto', 'proyecto');

Sin embargo, el lenguaje PHP original no se diseñó con características de orientación a objetos. Sólo a partir de la versión 3, se empezaron a introducir algunos rasgos de POO en el lenguaje. Esto se potenció en la versión 4, aunque todavía de forma muy rudimentaria. Por ejemplo, en PHP4:

  • Los objetos se pasan siempre por valor, no por referencia.
  • No se puede definir el nivel de acceso para los miembros de la clase. Todos son públicos.
  • No existen los interfaces.
  • No existen métodos destructores.

A partir de la versión de, PHP5, se reescribió el soporte de orientación a objetos del lenguaje, ampliando sus características y mejorando su rendimiento y su funcionamiento general. Aunque iremos detallando y explicando cada una posteriormente con detenimiento, las características de POO que soporta PHP incluyen:

  • Métodos estáticos.
  • Métodos constructores y destructores.
  • Herencia.
  • Interfaces.
  • Clases abstractas.
  • Traits (A partir de la versión 5.4.0).

Entre las características que no incluye PHP, y que puedes conocer de otros lenguajes de programación, están:

  • Herencia múltiple.
  • Sobrecarga de métodos.(incluidos los métodos constructores).
  • Sobrecarga de operadores.

Son un mecanismo de reutilización de código en lenguajes de herencia simple, como PHP. El objetivo de un rasgo es el de reducir las limitaciones de la herencia simple permitiendo que se reutilice a voluntad conjuntos de métodos sobre varias clases independientes.

Autoevaluación

Pregunta

Antes de PHP5, el comportamiento cuando se pasaba una variable a una función era siempre el mismo, independientemente de si la variable fuera un objeto o de cualquier otro tipo: siempre se creaba una nueva variable copiando los valores de la original.

Respuestas

Verdadero.

Falso.

Retroalimentación