Saltar al contenido

protegido

La palabra clave "protected" de PHP: Una guía completa

La palabra clave "protected" se utiliza en PHP para declarar un miembro de clase como protegido, lo que significa que solo se puede acceder a él dentro de la propia clase y sus subclases. En este artículo, exploraremos en profundidad la sintaxis y el uso de la palabra clave "protected", y proporcionaremos numerosos ejemplos para ayudarte a dominar esta importante característica de PHP.

Sintaxis

La palabra clave "protected" se utiliza para declarar un miembro de clase como protegido en PHP. A continuación se muestra la sintaxis básica para usar la palabra clave "protected":

La sintaxis de protected en PHP

php
class MyClass {
  protected $myProtectedVariable;
  protected function myProtectedFunction() {
    // Code block here
  }
}

En este ejemplo, utilizamos la palabra clave "protected" para declarar una variable protegida y una función protegida dentro de una clase.

Ejemplos

Veamos algunos ejemplos prácticos de cómo se puede utilizar la palabra clave "protected":

Ejemplos de protected

php
<?php

// Example 1
class Animal
{
  protected $name;

  public function __construct($name)
  {
    $this->name = $name;
  }

  protected function getName()
  {
    return $this->name;
  }
}

class Dog extends Animal
{
  public function bark()
  {
    $name = $this->getName();
    echo "$name barks!" . PHP_EOL;
  }
}

$dog = new Dog("Rufus");
$dog->bark(); // Output: Rufus barks!

// Example 2
class BankAccount
{
  protected $balance = 0;

  public function deposit($amount)
  {
    $this->balance += $amount;
  }

  protected function canWithdraw($amount)
  {
    return $amount <= $this->balance;
  }
}

class SavingsAccount extends BankAccount
{
  public function withdraw($amount)
  {
    if ($this->canWithdraw($amount)) {
      $this->balance -= $amount;
      echo "Withdrawal successful!" . PHP_EOL;
    } else {
      echo "Insufficient funds!" . PHP_EOL;
    }
  }
}

$savingsAccount = new SavingsAccount();
$savingsAccount->deposit(100);
$savingsAccount->withdraw(50); // Output: Withdrawal successful!
$savingsAccount->withdraw(100); // Output: Insufficient funds!

En estos ejemplos, utilizamos la palabra clave "protected" para declarar variables y funciones protegidas dentro de clases, las cuales solo pueden ser accedidas dentro de la propia clase y sus subclases.

Beneficios

El uso de la palabra clave "protected" ofrece varios beneficios, entre los que se incluyen:

  • Encapsulamiento: Al utilizar la palabra clave "protected" para declarar miembros de clase como protegidos, puedes encapsular datos y funcionalidad dentro de una clase y sus subclases, lo que puede mejorar la mantenibilidad y modularidad de tu código.
  • Herencia: La palabra clave "protected" se puede utilizar para permitir que las subclases accedan y modifiquen miembros de clase, mientras se impide que el código externo lo haga.

Conclusión

En conclusión, la palabra clave "protected" es una herramienta importante para los desarrolladores de PHP que buscan crear clases con datos y funcionalidad encapsulada que puedan ser heredados por subclases. Te permite declarar miembros de clase como protegidos, lo que significa que solo pueden ser accedidos dentro de la propia clase y sus subclases, y puede mejorar la mantenibilidad y modularidad de tu código. Esperamos que esta guía completa haya sido útil y te deseamos mucha suerte mientras continúas desarrollando tus habilidades en PHP.

Práctica

En PHP, ¿cuál de las siguientes puede acceder a propiedades y métodos protegidos?

¿Te resulta útil?

Vista previa dual-run — compárala con las rutas Symfony en producción.