Introduction aux modificateurs d'accès en PHP

Le modificateur d'accès est un moyen par lequel nous pouvons définir la portée d'accessibilité et les droits sur la variable de tout autre identifiant en PHP. PHP prend en charge divers mots clés pour créer n'importe quelle variable pour accéder à n'importe quelle variable et aux identifiants. Nous pouvons attribuer ces mots clés à la classe, à la fonction ou aux identifiants. Ces mots clés - public, privé, protégé, abstrait, final, etc.

Quand utiliser les modificateurs d'accès en PHP?

PHP a quelques limitations sur son modificateur d'accès, contrairement à Java. Nous ne pouvons pas utiliser tous les modificateurs d'accès PHP au niveau de la classe, au niveau de la fonction et au niveau de l'identifiant. Nous pouvons utiliser ces modificateurs d'accès selon nos besoins professionnels pour accorder ou révoquer une autorisation tout au long du programme ou de l'application.

Voici les modificateurs de liste et si c'est applicable ou non:

Modificateur d'accèsNiveau de classeNiveau de fonctionNiveau variable
PubliqueN / AOUIOUI
privéN / AOUIOUI
protégéN / AOUIOUI
abstraitOUIOUIN / A
finalOUIOUIN / A
StatiqueN / AOUIOUI

Dans le récit ci-dessus, NA désigne le Sans objet. Cela signifie que nous ne pouvons pas utiliser le public, le privé et protégé au niveau de la classe. Nous pouvons utiliser l'abstrait et le final uniquement au niveau de la classe.

Divers modificateurs d'accès en PHP

Voici les modificateurs d'accès suivants en PHP mentionnés ci-dessous

1. Modificateur d'accès public

Le public est le modificateur par défaut comme JAVA en PHP. Cela signifie que si nous n'utilisons aucun modificateur avec les fonctions des identifiants par défaut, il est considéré comme un modificateur d'accès public. C'est l'un des plus utilisés. Au moment où nous arrivons à la réutilisation du code de la fonction, nous allons généralement avec le modificateur d'accès public. Parce que le public peut être utilisé de n'importe où, dans la classe à coup sûr, en dehors de la classe, dans la classe étendue, et si ce public réutilisable n'est lié à aucune classe, nous pouvons l'utiliser partout où nous incluons le fichier. Comme mentionné dans le tableau ci-dessus, nous ne pouvons pas utiliser ce modificateur public avec la classe ainsi que privé et protégé.

Maintenant, il est temps de voir l'exemple du modificateur d'accès public:

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

Dans le code ci-dessus , la fonction returnVar () a été définie sans modificateur d'accès, donc cela fonctionnera comme public car c'est le modificateur par défaut dans le langage PHP.

public, private et protected ne seront pas applicables au niveau de la classe, voyons cela avec un exemple.

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

Le code ci-dessus donnera une erreur comme mentionné ci-dessous:

(!) Erreur d'analyse: erreur de syntaxe, 'public' inattendu (T_PUBLIC), identifiant attendu (T_STRING) dans E: \ wamp \ www \ twit \ index.php sur la ligne 2

Cela reste le même pour les privés et les protégés également.

<_?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. Modificateur d'accès privé

Ce modificateur utilise le mot-clé privé pour le traiter. Nous ne pouvons pas utiliser le modificateur privé avec la classe. Nous pouvons l'utiliser uniquement avec les variables de classe et les méthodes de classe (comme nous l'avons mentionné dans le tableau ci-dessus). Lorsque nous déclarons et utilisons le privé, il n'est pas accessible à l'aide de l'objet de la classe. Il ne peut être utilisé que dans la classe.

Par exemple

<_?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

Cette ligne de code que nous pouvons utiliser car cela entraînera l'erreur. C'est quelque chose que nous ne pouvons pas accéder à la variable privée en utilisant l'objet de cette classe. Mais nous pouvons utiliser cela en utilisant son paramètre et la méthode getter comme nous utilisons dans le code ci-dessus. $ obj1-> set_fist_name ("Jai Shre"); ligne de code définira la valeur dans la variable et en utilisant $ obj1-> returnVar (); nous pouvons obtenir la valeur de la variable définie.

3. Modificateur d'accès protégé

Tout comme le public et le privé, la protection elle-même ne prend pas en charge au niveau de la classe. Comme un modificateur privé, protected restreint également l'accès aux variables de classe ou à la fonction depuis l'extérieur de la classe. Il peut être utilisé au sein de la même classe et de la sous-classe (classe enfant).

Par exemple

<_?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-> fist_name; la ligne de code donnera l'erreur ci-dessous

Production:

Erreur fatale: impossible d'accéder à la propriété protégée MyAccess :: $ fist_name dans E: \ wamp \ www \ twit \ index.php sur la ligne 20

4. Modificateur d'accès abstrait

Il peut être utilisé sur la classe et la fonction, pas sur la variable de classe. Si une classe a au moins une fonction abstraite, elle doit être déclarée comme abstraite. Nous ne pouvons pas instancier la classe abstraite. Une classe abstraite est principalement considérée comme une classe incomplète.

5. Modificateur d'accès final

Si une classe est déclarée comme finale, nous ne pouvons pas étendre cette classe. PHP empêche l'héritage de la classe finale.

6. Modificateur d'accès statique

Le mot-clé statique peut être utilisé pour rendre n'importe quelle fonction statique. Il permet la capacité de cette fonction afin que l'on puisse utiliser dans la création d'un objet de la classe dans laquelle il a été déclaré. Exemple de méthode statique -

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

Conclusion

Nous devons toujours utiliser le modificateur d'accès conformément aux exigences de l'entreprise. En utilisant private et protected, nous pouvons restreindre l'utilisation directe de variables privées et de méthodes privées en dehors de la classe déclarée.

Articles recommandés

Ceci est un guide des modificateurs d'accès en PHP. Nous discutons ici des divers modificateurs d'accès en PHP avec les exemples et les sorties. Vous pouvez également consulter l'article suivant pour en savoir plus -

  1. Classe abstraite en PHP
  2. Modèles en PHP
  3. Déclaration de commutateur PHP
  4. Variables en PHP
  5. Mots-clés C
  6. Mots clés C #
  7. Méthode statique en PHP
  8. Mot-clé statique en C
  9. Instruction Switch en C #
  10. Guide complet de la classe abstraite en C #
  11. Guide complet de la méthode statique JavaScript