Introducción a los modificadores de acceso en PHP

El modificador de acceso es una forma a través de la cual podemos establecer el alcance y los derechos de accesibilidad a la variable de cualquier otro identificador en PHP. PHP admite varias palabras clave para hacer que cualquier variable acceda a cualquier variable y a los identificadores. Podemos asignar estas palabras clave a la clase, función o identificadores. Estas palabras clave: públicas, privadas, protegidas, abstractas, finales, etc.

¿Cuándo usar modificadores de acceso en PHP?

PHP tiene algunas limitaciones en su modificador de acceso, a diferencia de Java. No podemos usar todo el modificador de acceso PHP en el nivel de clase, nivel de función y el nivel de identificador. Podemos usar estos modificadores de acceso según nuestra necesidad comercial para otorgar o revocar permisos en todo el programa o la aplicación.

Aquí están los modificadores de la lista y si es aplicable o no:

Modificador de accesoNivel de claseNivel FuncionalNivel Variable
públicoN / ASISI
privadoN / ASISI
protegidoN / ASISI
resumenSISIN / A
finalSISIN / A
EstáticoN / ASISI

En el cuento anterior, NA denota lo No Aplicable. Eso significa que no podemos usar lo público, lo privado y lo protegido a nivel de clase. Podemos usar el resumen y el final solo a nivel de clase.

Varios modificadores de acceso en PHP

Estos son los siguientes modificadores de acceso en PHP que se mencionan a continuación

1. Modificador de acceso público

El público es el modificador predeterminado como JAVA en PHP. Eso significa que si no usamos ningún modificador con las funciones de los identificadores por defecto, se considera un modificador de acceso público. Este es uno de los más utilizados. En el momento en que llegamos a la reutilización del código de la función, generalmente usamos el modificador de acceso público. Porque, el público se puede usar desde cualquier lugar, dentro de la clase con seguridad, fuera de la clase, en la clase extendida, y si ese público reutilizable no está limitado a ninguna clase, podemos usarlo en cualquier lugar donde incluyamos el archivo. Como se menciona en la tabla anterior, no podemos usar este modificador público con la clase junto con privado y protegido también.

Ahora, es hora de ver el ejemplo del modificador de acceso público:

<_?php
class MyAccess (
var $var = "This is first var";
// print var variable value
function returnVar() (
echo $this->var;
)
)
$obj1 = new MyAccess();$obj1->returnVar();
?>

En el código anterior , la función returnVar () se ha definido sin un modificador de acceso, por lo que funcionará como público ya que este es el modificador predeterminado en el lenguaje PHP.

público, privado y protegido no será aplicable a nivel de clase, veámoslo con un ejemplo.

<_?php
class public MyAccess (
var $var = "This is first var";
function returnVar() (
echo $this->var;
)
)
$obj1 = new MyAccess();
$obj1->returnVar();
?>

El código anterior dará un error como se menciona a continuación:

(!) Error de análisis: error de sintaxis, 'público' inesperado (T_PUBLIC), esperando el identificador (T_STRING) en E: \ wamp \ www \ twit \ index.php en la línea 2

Esto sigue siendo lo mismo para privados y protegidos también.

<_?php
class private MyAccess (
var $var = "This is first var";
)
?>
class protected MyAccess (
var $var = "This is first var";
)
?>
<_?php
class private MyAccess (
var $var = "This is first var";
)
?>
class protected MyAccess (
var $var = "This is first var";
)
?>

2. Modificador de acceso privado

Este modificador nos usa la palabra clave privada para procesar con ella. No podemos usar el modificador privado con la clase. Podemos usar esto solo con las variables de clase y los métodos de clase (como hemos mencionado en la tabla anterior). Cuando declaramos y utilizamos lo privado, no se puede acceder a él utilizando el objeto de la clase. Solo se puede usar dentro de la clase.

Por ejemplo

<_?php
class MyAccess (
var $var = "This is first var";
private $fist_name;
// simple class method
function returnVar() (
echo $this->fist_name;
)
function set_fist_name($set_this)(
$this->fist_name = $set_this;
)
)
$obj1 = new MyAccess();
echo $obj1->fist_name; // will give the error
$obj1->set_fist_name("Jai Shre");
$obj1->returnVar();
?>
echo $obj1->fist_name; // will give the error

Esta línea de código que podemos usar, ya que aparecerá el error. Esto es algo a lo que no podemos acceder con la variable privada usando el objeto de esa clase. Pero podemos usar esto usando su configuración y el método getter como lo estamos usando en el código anterior. $ obj1-> set_fist_name ("Jai Shre"); la línea de código establecerá el valor en la variable y usará $ obj1-> returnVar (); podemos obtener el valor de la variable establecida.

3. Modificador de acceso protegido

Al igual que público y privado, la protección en sí misma no es compatible a nivel de clase. Al igual que un modificador privado, protegido también restringe el acceso de las variables de clase o la función desde fuera de la clase. Se puede usar dentro de la misma clase y desde la subclase (clase secundaria).

Por ejemplo

<_?php
class MyAccess (
var $var = "This is first var";
protected $fist_name;
// simple class method
function returnVar() (
echo $this->fist_name;
)
function set_fist_name($set_this)(
$this->fist_name = $set_this;
)
)
class child extends MyAccess (
function setVal($set_this)(
$this->fist_name = $set_this;
)
function getVal()(
echo $this->fist_name;
)
)
$obj1 = new child();
//echo $obj1->fist_name; // will give the error
$obj1->setVal("Jai Shre");
$obj1->getVal();
?>

echo $ obj1-> nombre_ puño; la línea de código dará el siguiente error

Salida:

Error fatal: No se puede acceder a la propiedad protegida MyAccess :: $ fist_name en E: \ wamp \ www \ twit \ index.php en la línea 20

4. Modificador de acceso abstracto

Se puede usar en la clase y la función, no en la variable de clase. Si alguna clase tiene al menos una función abstracta, debe declararse como un resumen. No podemos instanciar la clase abstracta. Una clase abstracta se considera principalmente como una clase incompleta.

5. Modificador de acceso final

Si alguna clase se declara como final, no podemos extender esa clase. PHP restringe la clase final de ser heredada.

6. Modificador de acceso estático

La palabra clave estática se puede utilizar para hacer que cualquier función sea estática. Habilita la capacidad de esa función para que pueda usarse dentro de la creación de un objeto de esa clase en la que se ha declarado. Ejemplo de método estático:

public static function static Function()
(
// declaration goes here..
)

Conclusión

Siempre debemos usar el modificador de acceso según los requisitos comerciales. Usando privado y protegido, podemos restringir el uso directo de variables privadas y métodos privados desde fuera de la clase declarada.

Artículos recomendados

Esta es una guía de modificadores de acceso en PHP. Aquí discutimos los Varios Modificadores de Acceso en PHP con los ejemplos y resultados. También puede consultar el siguiente artículo para obtener más información:

  1. Clase abstracta en PHP
  2. Patrones en PHP
  3. Declaración de cambio de PHP
  4. Variables en PHP
  5. C Palabras clave
  6. C # Palabras clave
  7. Método estático en PHP
  8. Palabra clave estática en C
  9. Cambiar la declaración en C #
  10. Guía completa de clase abstracta en C #
  11. Guía completa del método estático de JavaScript