PHP, como muchos otros lenguajes de programación orientados a objetos, utiliza la visibilidad de las palabras clave para controlar el acceso a las propiedades y métodos de un objeto. En PHP, existen tres palabras clave de visibilidad y estas son: public
, private
, y protected
.
La palabra clave public
en PHP indica que un método o propiedad es accesible desde cualquier parte, incluso fuera del objeto en el que fue declarado. Es la forma más abierta de visibilidad.
class MiClase {
public $miPropiedad = 'Soy visible';
}
$obj = new MiClase();
echo $obj->miPropiedad; // Outputs: 'Soy visible'
La palabra clave private
hace que un método o propiedad sea accesible sólo desde dentro de la clase que lo declara.
class MiClase {
private $miPropiedad = 'Soy invisible';
}
$obj = new MiClase();
echo $obj->miPropiedad; // Esto dará un error fatal
La palabra clave protected
, por otro lado, hace que una propiedad o método sea accesible dentro de la clase que la declara y sus subclases.
class MiClase {
protected $miPropiedad = 'Soy semi-visible';
}
class MiSubClase extends MiClase {
public function imprimirPropiedad() {
echo $this->miPropiedad;
}
}
$obj = new MiSubClase();
$obj->imprimirPropiedad(); // Outputs: 'Soy semi-visible'
Sin embargo, la pregunta nos pedía identificar cuál de las opciones NO es una palabra clave válida para la visibilidad en PHP. Y la respuesta correcta es internal
. No existe ninguna palabra clave de visibilidad internal
en PHP. Esta es en realidad una palabra clave utilizada en algunos otros lenguajes de programación como C# para indicar que un miembro es accesible sólo dentro de su propio ensamblado.
En resumen, al trabajar con programación orientada a objetos en PHP, es vital entender cómo las palabras clave de visibilidad public
, private
, y protected
le permiten controlar dónde puede accederse a sus propiedades y métodos. La palabra clave internal
no tiene ningún significado en PHP, por lo que no puede ser utilizada para controlar la visibilidad en este contexto.