Access Modifiers en PHP
Los **modificadores de acceso** en PHP definen la visibilidad de las propiedades y métodos dentro de una clase. Existen tres niveles de acceso:
- public: Puede ser accedido desde cualquier lugar.
- protected: Solo puede ser accedido dentro de la clase o por clases heredadas.
- private: Solo puede ser accedido dentro de la misma clase.
Ejemplo 1: Diferencia entre public, protected y private
Observemos cómo funcionan los modificadores de acceso en una clase.
<?php
class Person {
public $name; // Puede ser accedido desde cualquier parte
protected $age; // Solo accesible dentro de la clase y subclases
private $password; // Solo accesible dentro de la clase
function __construct($name, $age, $password) {
$this->name = $name;
$this->age = $age;
$this->password = $password;
}
function showInfo() {
return "Nombre: " . $this->name . " | Edad: " . $this->age;
}
}
$person = new Person("Juan", 30, "secreto123");
echo $person->name; // ✅ Acceso permitido
// echo $person->age; // ❌ Error: acceso denegado (protected)
// echo $person->password; // ❌ Error: acceso denegado (private)
echo $person->showInfo();
?>
Salida esperada:
Juan
Nombre: Juan | Edad: 30
Ejemplo 2: Acceso a una propiedad protegida desde una subclase
Una propiedad protegida puede ser usada en una clase heredada:
<?php
class Employee extends Person {
function getAge() {
return "Edad del empleado: " . $this->age;
}
}
$employee = new Employee("Pedro", 25, "clave456");
echo $employee->getAge();
// echo $employee->age; // ❌ Error: acceso denegado (protected)
?>
Salida esperada:
Edad del empleado: 25
Ejemplo 3: Métodos privados solo dentro de la clase
Los métodos privados solo pueden ser llamados dentro de la misma clase:
<?php
class BankAccount {
private $balance = 1000;
private function getBalance() {
return $this->balance;
}
public function showBalance() {
return "Saldo disponible: " . $this->getBalance();
}
}
$account = new BankAccount();
echo $account->showBalance();
// echo $account->getBalance(); // ❌ Error: acceso denegado (private)
?>
Salida esperada:
Saldo disponible: 1000
Beneficios de los Modificadores de Acceso
- Ayudan a encapsular datos y proteger la información.
- Garantizan que solo ciertos datos puedan ser modificados desde lugares específicos.
- Mejoran la seguridad del código al restringir accesos innecesarios.
0 Comentarios
Si desea contactar comigo, lo puede hacer atravez deste formulario gracias