Public, Private y Protected PHP
Publicado: 20 de Jul del 2007Prohibida la reproducción total o parcial de este artículo sin el previo consentimiento de Webtutoriales.com
Cómo funciona la especificación de control de acceso a métodos y atributos en PHP5
Cuando se crea una nueva clase en PHP se puede especificar el nivel de acceso que tendrá cada método o atributo. En PHP5 existen tres modificadores de acceso:
Public
Los elementos declarados como Public son accesibles tanto desde fuera como desde dentro de la clase.
<?php
class Vehiculo
{
public $marca;
function __construct($marca)
{
$this->marca=$marca;
}
}
$micoche = new Vehiculo("Toyota");
echo $micoche->marca;
?>
El atributo marca es público y por lo tanto es visible desde fuera de la clase.
Private
Los elementos declarados como Private son accesibles sólo desde la misma clase donde fueron definidos.
<?php
class Vehiculo
{
private $marca;
function __construct($marca)
{
$this->marca=$marca;
}
}
$micoche = new Vehiculo("Toyota");
echo $micoche->marca;
?>Si ejecutamos el código obtendremos el siguiente error:
Fatal error: Cannot access private property Vehiculo::$marca
El atributo marca no es visible fuera de la clase en la que se definió.
Protected
Los elementos declarados como Protected son accesibles desde la misma clase donde fueron definidos y en sus subclases.
<?php
class Vehiculo
{
protected $marca;
function __construct($marca)
{
$this->marca=$marca;
}
}
class Coche extends Vehiculo
{
function __construct($marca)
{
$this->marca=$marca;
}
}
$micoche = new coche("Toyota");
echo $micoche->marca;
?>
Si ejecutamos el código obtendremos el siguiente error
Fatal error: Cannot access protected property Coche
Producido por la línea que contiene este código:
echo $micoche->marca;
Este error sucede por utilizar el atributo marca fuera de la clase Vehículo y quedar así fuera de su visibilidad. En cambio el uso de este atributo en la clase Coche y Vehículo es correcto.
Los métodos o atributos sin ninguna de las declaraciones (public, private o protected) por defecto serán public.
Comentarios
Artículos relacionadosVer más
- Calcular el tiempo exacto entre dos fechas
- Clase para conectar php con mysql
- Tipos de funciones para Expresiones Regulares
- Comparar Fechas en PHP
- Crear archivos en PHP
- Public, Private y Protected
- Programación Orientada a Objetos
- Formulario de contacto en PHP
- Modelo Vista Controlador
- Mostrar resultados por columnas