POO en PHP – Introducción a Clases y Objetos

O

En los tutoriales anteriores, usamos funciones para escribir scripts PHP. Por lo tanto, se llama programación estructural. Pero, la programación estructural se vuelve más desordenada y difícil de entender y manejar a medida que aumenta el tamaño de la aplicación o del proyecto. Ahora estamos comenzando la Programación Orientada a Objetos- POO en PHP que hace uso de clases y objetos.

¿Qué es la Programación Orientada a Objetos – POO en PHP?

OOP es una abreviatura de Programación Orientada a Objetos. Como sugiere el nombre, contiene objetos que contienen tanto los datos como las propiedades.

Depende de los requisitos para seleccionar OOP en PHP o programación estructural en PHP. Sin embargo, en la mayoría de los casos, OOP supera a la programación estructural. Las razones por las cuales la programación orientada a objetos en PHP es más beneficiosa se encuentran a continuación.

  • OOP es más fácil de entender y más rápido de ejecutar.
  • El código se convierte en una estructura que lo hace capaz de cambiar fácilmente de humor.
  • Usando OOP en PHP, podemos evitar repeticiones de código.
  • Siguiendo los principios estándar de programación orientada a objetos, podemos desarrollar aplicaciones de pequeña y gran escala. Aprenderemos estas características estándar en los próximos tutoriales.

¿Qué es una clase en OOP?

Una clase es el principal punto de partida de OOP en PHP. Una clase contiene los atributos, funciones y especificaciones. Por ejemplo, mire los siguientes ejemplos para imaginar de qué se trata realmente una clase.

  • Una clase de animales de compañía.
  • Una clase de autos

Al igual que en las clases anteriores, hemos clasificado los animales en la clase Animal y los coches en la clase Coche. Esta clase contiene atributos y funciones, que veremos más adelante en el artículo.

¿Qué son los objetos en OOP?

Los objetos son instancias de la clase que contiene o refleja sus propiedades. Puede haber varios objetos de una clase que reflejen las mismas propiedades de su clase. Sin embargo, cada objeto puede tener diferentes valores para las propiedades de su clase.

En el ejemplo anterior de la clase de mascotas y automóviles, podemos tener los siguientes objetos.

  • Objeto de la clase animales de compañía que contiene gato y perro.
  • Del mismo modo, objeto de la clase Automóviles que contienen Honda y Toyota.

Nota: Un objeto hereda todas las propiedades de su clase.

¿Cómo crear una clase en PHP OOP?

La palabra clave class se usa para declarar una clase en PHP. El nombre de la clase viene después de esta palabra clave y se recomienda comenzar el nombre de la clase con una letra mayúscula. Por ejemplo, creamos una clase de mascotas en PHP.

<?php
class Pets {
  // code
}
?>

Ahora, tenemos una clase Mascotas, que no contiene funciones, atributos o código. En el siguiente ejemplo, llenaremos la clase de PHP con algunas funciones. Digamos que tenemos el nombre de la mascota y su color.

<?php
class Pets {

  // Properties

  public $nick_name;
  public $color;

  // functions
  function set_nick_name($name) {
    $this->nick_name = $name;
  }

  function get_nick_name() {
    return $this->nick_name;
  }
}
?>

Nota: Las variables de clase también se conocen como atributos y funcionan como métodos.

¿Cómo crear un objeto de clase en PHP?

Para crear un nuevo objeto en PHP, use Un nuevo palabra clave y escriba el nombre del objeto después de la palabra clave. Mira el siguiente ejemplo, en el que creamos dos objetos de la clase Pets.

<?php
class Pets {
  // Properties
  public $nick_name;
  public $color;

  // Methods
  function set_name($name) {
    $this->nick_name = $name;
  }
  function get_name() {
    return $this->nick_name;
  }
}

$cat = new Pets();
$dog = new Pets();

$cat->set_name('yii');
$dog->set_name('hop');

echo $cat->get_name();
echo "<br>";
echo $dog->get_name();
?>
  • En el ejemplo anterior, incluimos dos métodos para establecer y obtener el nombre de la mascota.
  • Usamos la Un nuevo palabra clave para crear dos objetos $gato y $perro.
  • Llame al método set_name usando ambos objetos.
  • Ahora, ambos objetos tienen su propia propiedad de apodo.

Ahora, en el ejemplo anterior, agregaremos dos funciones más que establecerán y obtendrán la propiedad de color del animal de compañía.



<?php
class Pets {
  // Properties
  public $nick_name;
  public $color;

  // Methods
  function set_name($name) {
    $this->nick_name = $name;
  }
  function get_name() {
    return $this->nick_name;
  }
  function set_color($color) {
    $this->color = $color;
  }
  function get_color() {
    return $this->color;
  }
}

$cat = new Pets();
$dog = new Pets();

$cat->set_name('yii');
$dog->set_name('hop');

$cat->set_color('brown');
$dog->set_color('white');

echo $cat->get_name();
echo $cat->get_color();

echo $dog->get_name();
echo $dog->get_color();
?>

  • En el ejemplo anterior, incluimos dos métodos adicionales para configurar y obtener el color de la mascota.
  • Usamos la Un nuevo palabra clave para crear dos neoobjetos $gato y $perro.
  • Llame a los métodos set_name y set color para ambos objetos.
  • Ahora, ambos objetos tienen su propia propiedad de apodo y color.
  • Llamamos al método get usando ambos objetos. Emitirá el nombre y el color de ambas mascotas.

¿Qué es $esta palabra clave en PHP OOP?

$ This palabra clave se refiere al objeto actual en PHP OOP. La palabra clave puede usarse para establecer el valor del objeto actual u obtener el valor.

Hay dos métodos para actualizar el valor de la atributos de clase.

  1. Usando $esta palabra clave
  2. Establezca el valor directamente usando el objeto.

Mira el siguiente ejemplo, en el que usamos $esta palabra clave dentro de la función para establecer el valor del color de la mascota.



<?php
class Pets {

  // Properties

  public $nick_name;
  public $color;

  // functions
  function set_nick_name($name) {
    $this->nick_name = $name;
  }

  function get_nick_name() {
    return $this->nick_name;
  }
}
?>

Asegúrese de que, en el ejemplo anterior, se establezca el apodo para el objeto que llama a esta función. En el siguiente ejemplo, estableceremos el apodo sin usar la palabra clave $this.

<?php
class Pets {
  public $color;
}
$cat = new Pet();
$cat->name = "brown";

echo $cat->color;
?>

Función de instancia de PHP

Puede usar la función PHP instanceOf para verificar la clase del objeto al que pertenece.

<?php
$dog = new Pet();
var_dump($dog instanceof Pet);
?>

Puede consultar el artículo oficial de clases y objetos de PHP 8 aquí.

Agregar comentario

Red de tutores

Aprende PHP de la A a la Z