Orientación a objetos en PHP
En la sección anterior revisamos el uso de tipos de datos, variables, booleanos y arreglos en el lenguaje PHP. Ahora revisaremos el potencial de la Programación Orientada a Objetos (POO), una propiedad crucial en lenguajes de programación moderenos.
En una sección anterior amplié los criterios de la Programación Orientada a Objetos pero desde el lenguaje Javascript. En resumen, la POO es una forma de organizar los datos del mundo real en módulos padre llamados Clases
del que pueden derivarse otros submódulos llamados objetos
. A su vez, los objetos derivados de la clases pueden contener otros datos en forma de propiedades, métodos y valores únicos. El objetivo de esta esquema es que los sistemas electrónicos puedan interpretar cientos de datos y propiedades de los datos con mayor eficacia.
En otras palabras, para la POO el mundo real puede categorizarse en bloques de código, con datos que cambian al mismo tiempo que se vinculan con otros datos. Por ejemplo, si deseamos representar únicamente mediante datos a un plato de comida, debemos tener en cuenta que algunas de sus propiedades son únicas, mientras que otras podrían ser alteradas.
En el ejemplo de abajo, se muestran algunas palabras claves necesarias para crear clases y objetos, junto con un ejemplo en PHP.
class
: define a toda una clase y prepara a la clase para agrupar propiedadespublic
: permite que las propiedades sean accedidas desde los objetos que nacerán de esa clase.function()
: Agrupa código que funcionará como las acciones permitidas por la clase.__construct()
: permite crear acciones y usar las propiedades de la clase en cada llamado de un nuevo objeto.this
: pseudovariable que define y apunta a una propiedad de clase, con el objetivo de usar la clase desde cualquier nuevo objeto creado. En otras palabras,this
indica a PHP que "tal propiedad es parte de tal clase, y esa propiedad podrá ser usada en cada nuevo objeto que nazca de esa clase".new
: palabra clave que inicia el nacimiento de un objeto a partir de una clase ya definida antes. En otras palabras,new
indica que "un nuevo objeto nacerá desde la clase indicada y ese objeto nacerá con las propiedades de su clase".
En .PHP
<?php
// Definición de la clase Plato
class Plato {
// Propiedades
public $sabor;
public $tipoPescado;
// Constructor para inicializar las propiedades al crear un objeto
// Vinculamos propiedades con todo nuevo objeto nacido de esta clase
public function __construct($sabor, $tipoPescado) {
// Apunta a apropiedad sabor
$this -> sabor = $sabor;
// Apunta a apropiedad tipoPescado
$this -> tipoPescado = $tipoPescado;
}
// Método que al invocarse describirá propiedades de los objetos
public function mostrarDescripcion() {
// Ojo comillas
// Ojo con $this: apunta a una propiedad de clase
return " Plato con sabor
{$this -> sabor}, con
{$this -> tipoPescado}";
}
}
// NACIMIENTO DE OBJETOS
// Nueva variable aloja nacimiento de 1er objeto: 'encebollado de albacora'
$encebolladoDeAlbacora = new Plato("intenso", "albacora");
// Nueva variable aloja nacimiento de 2do objeto: 'encebollado de atun'
$encebolladoDeAtun = new Plato("ligero", "atún");
// Muestra objetos
echo "Encebollado de Albacora: " .
$encebolladoDeAlbacora -> mostrarDescripcion() . "<hr>";
echo "Encebollado de Atún: " .
$encebolladoDeAtun -> mostrarDescripcion() . "<hr>";
/* OJO: el punto sirve para:
- Concatenar cadenas de texto entre variables.
- Sin eso, PHP leerá los elementos como uno solo, dando error. */
/* RESULTADO:
Encebollado de Albacora: Plato con sabor intenso, con albacora
Encebollado de Atún: Plato con sabor ligero, con atún
*/
?>
BIBLIOGRAFÍA
www.php.net (2025). ¿Qué es PHP?Kevin Tatroe and Peter MacIntyre (2020). Programming PHP