Introduzione ai modificatori di accesso in PHP
Il modificatore di accesso è un modo attraverso il quale possiamo impostare l'ambito di accessibilità e i diritti sulla variabile di qualsiasi altro identificatore in PHP. PHP supporta varie parole chiave per rendere qualsiasi variabile per accedere a qualsiasi variabile e identificatori. Possiamo assegnare queste parole chiave alla classe, alla funzione o agli identificatori. Queste parole chiave: pubblico, privato, protetto, astratto, finale, ecc.
Quando utilizzare i modificatori di accesso in PHP?
PHP ha alcune limitazioni sul suo modificatore di accesso, a differenza di Java. Non possiamo usare tutto il modificatore di accesso PHP a livello di classe, livello di funzione e livello di identificatore. Possiamo utilizzare questi modificatori di accesso in base alle nostre esigenze aziendali per concedere l'autorizzazione o revocare l'autorizzazione durante il programma o l'applicazione.
Ecco i modificatori dell'elenco e se è applicabile o meno:
Modificatore di accesso | Livello di classe | Livello di funzione | Livello variabile |
pubblico | N / A | SÌ | SÌ |
privato | N / A | SÌ | SÌ |
protetta | N / A | SÌ | SÌ |
astratto | SÌ | SÌ | N / A |
finale | SÌ | SÌ | N / A |
Statico | N / A | SÌ | SÌ |
Nel racconto di cui sopra, NA indica Non applicabile. Ciò significa che non possiamo usare il pubblico, il privato e la protezione a livello di classe. Possiamo usare l'abstract e il final solo a livello di classe.
Vari modificatori di accesso in PHP
Ecco i seguenti modificatori di accesso nella menzione di PHP di seguito
1. Modificatore di accesso pubblico
Il pubblico è il modificatore predefinito come JAVA in PHP. Ciò significa che se non utilizziamo alcun modificatore con le funzioni degli identificatori per impostazione predefinita, viene considerato un modificatore di accesso pubblico. Questo è uno dei più utilizzati. Nel momento in cui arriviamo alla riutilizzabilità del codice della funzione, di solito andiamo con il modificatore di accesso pubblico. Perché, il pubblico può essere utilizzato da qualsiasi luogo, all'interno della classe di sicuro, al di fuori della classe, nella classe estesa e se quel riutilizzabile pubblico non è limitato a nessuna classe, possiamo usarlo ovunque includiamo il file. Come menzionato nella tabella sopra, non possiamo usare questo modificatore pubblico con la classe insieme a privato e anche protetto.
Ora è il momento di vedere l'esempio del modificatore dell'accesso pubblico:
<_?phpclass MyAccess (
var $var = "This is first var";
// print var variable value
function returnVar() (
echo $this->var;
)
)
$obj1 = new MyAccess();$obj1->returnVar();
?>
Nel codice sopra , la funzione returnVar () è stata definita senza alcun modificatore di accesso, quindi funzionerà come pubblico in quanto questo è il modificatore predefinito nel linguaggio PHP.
pubblico, privato e protetto non saranno applicabili a livello di classe, vediamolo con un esempio.
<_?phpclass public MyAccess (
var $var = "This is first var";
function returnVar() (
echo $this->var;
)
)
$obj1 = new MyAccess();
$obj1->returnVar();
?>
Il codice sopra riportato darà un errore come indicato di seguito:
(!) Errore di analisi: errore di sintassi, "pubblico" imprevisto (T_PUBLIC), identificatore in attesa (T_STRING) in E: \ wamp \ www \ twit \ index.php sulla riga 2
Questo rimane lo stesso anche per privati e protetti.
<_?phpclass private MyAccess (
<_?php
var $var = "This is first var";
)
?>
class protected MyAccess (
var $var = "This is first var";
)
?>class private MyAccess (
var $var = "This is first var";
)
?>
class protected MyAccess (
var $var = "This is first var";
)
?>
2. Modificatore di accesso privato
Questo modificatore ci usa la parola chiave privata per elaborarla. Non possiamo usare il modificatore privato con la classe. Possiamo usarlo solo con le variabili di classe e i metodi di classe (come abbiamo menzionato nella tabella sopra). Quando dichiariamo e utilizziamo il privato, non è possibile accedervi utilizzando l'oggetto della classe. Può essere utilizzato solo all'interno della classe.
Per esempio
<_?phpclass 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
Questa riga di codice che possiamo usare in quanto verrà fuori l'errore. Questo è qualcosa a cui non possiamo accedere alla variabile privata usando l'oggetto di quella classe. Ma possiamo usarlo usando le sue impostazioni e il metodo getter come stiamo usando nel codice sopra. $ obj1-> set_fist_name (“Jai Shre”); la riga di codice imposterà il valore nella variabile e usando $ obj1-> returnVar (); possiamo ottenere il valore della variabile set.
3. Modificatore di accesso protetto
Proprio come pubblico e privato, la protezione stessa non supporta a livello di classe. Come un modificatore privato, la protezione limita anche l'accesso delle variabili di classe o della funzione dall'esterno della classe. Può essere utilizzato all'interno della stessa classe e dalla sottoclasse (classe figlio).
Per esempio
<_?phpclass 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-> fist_name; la riga di codice darà l'errore di seguito
Produzione:
Errore irreversibile: impossibile accedere alla proprietà protetta MyAccess :: $ fist_name in E: \ wamp \ www \ twit \ index.php sulla riga 20
4. Modificatore di accesso astratto
Può essere utilizzato sulla classe e sulla funzione, non sulla variabile di classe. Se una classe ha almeno una funzione astratta, deve essere dichiarata come astratta. Non possiamo istanziare la classe astratta. Una classe astratta è considerata principalmente come una classe incompleta.
5. Modificatore di accesso finale
Se una classe viene dichiarata come finale, non possiamo estenderla. PHP impedisce che la classe finale venga ereditata.
6. Modificatore di accesso statico
La parola chiave statica può essere utilizzata per rendere qualsiasi funzione statica. Abilita l'abilità di quella funzione in modo che si possa usare all'interno della creazione di un oggetto di quella classe in cui è stata dichiarata. Esempio di metodo statico -
public static function static Function()
(
// declaration goes here..
)
Conclusione
Dovremmo sempre utilizzare il modificatore di accesso secondo i requisiti aziendali. Usando privato e protetto, possiamo limitare l'uso diretto di variabili private e metodi privati al di fuori della classe dichiarata.
Articoli consigliati
Questa è una guida ai modificatori di accesso in PHP. Qui discutiamo i vari modificatori di accesso in PHP con gli esempi e gli output. Puoi anche leggere il seguente articolo per saperne di più -
- Classe astratta in PHP
- Pattern in PHP
- Dichiarazione switch PHP
- Variabili in PHP
- Parole chiave
- Parole chiave C #
- Metodo statico in PHP
- Parola chiave statica in C
- Istruzione switch in C #
- Guida completa alla classe astratta in C #
- Guida completa al metodo statico JavaScript