Maison  >  Article  >  développement back-end  >  Comment changer le modificateur public dans une classe en php

Comment changer le modificateur public dans une classe en php

PHPz
PHPzoriginal
2023-04-10 09:34:40557parcourir

Le modificateur public dans les classes PHP est largement utilisé pour indiquer que les propriétés ou méthodes de la classe sont visibles et accessibles au code externe. Cependant, à mesure que le code s'agrandit et devient plus complexe, nous devrons peut-être modifier l'accès à certaines propriétés ou méthodes. À ce stade, nous devons réfléchir à la manière de modifier le modificateur public dans la classe.

modificateur public en PHP

En PHP, les propriétés et méthodes de classe sont définies sur public par défaut. Cela signifie qu'ils peuvent être vus et utilisés par n'importe quel code. Par exemple, définissez une classe :

class ExampleClass {
    public $public_property = 'This is a public property';
    public function public_method() {
        echo 'This is a public method';
    }
}

Nous définissons une classe nommée SampleClass, qui contient une propriété publique $public_property et une méthode publique public_method. Ces propriétés et méthodes sont accessibles et utilisées par du code externe.

Modifiez le modificateur public

Nous pouvons contrôler l'accès aux propriétés et méthodes de classe en modifiant le modificateur d'accès. En PHP, il existe trois modificateurs d'accès : public, protected et private.

Par défaut, nous utilisons le modificateur public. Cependant, nous pouvons parfois avoir besoin de définir les autorisations d'accès d'une certaine propriété ou méthode sur protégé ou privé. Alors, comment changer le modificateur public dans une classe ?

  1. Modifier les droits d'accès des attributs

Pour les attributs d'une classe, on peut utiliser le modificateur protected ou private pour limiter leurs droits d'accès. Les propriétés protégées ne sont accessibles qu'au sein de la classe et des sous-classes, et les propriétés privées ne sont accessibles qu'au sein de la classe.

class ExampleClass {
    public $public_property = 'This is a public property';
    protected $protected_property = 'This is a protected property';
    private $private_property = 'This is a private property';
    public function public_method() {
        echo 'This is a public method';
    }
}

Dans l'exemple ci-dessus, nous avons défini trois propriétés dans SampleClass : $public_property, $protected_property et $private_property. Parmi eux, $public_property est une propriété publique, $protected_property est une propriété protégée et $private_property est une propriété privée.

  1. Modifier les autorisations d'accès des méthodes

Pour les méthodes d'une classe, nous pouvons également utiliser le modificateur protected ou private pour limiter leurs autorisations d'accès. Cependant, il est important de noter que les méthodes protégées et privées ne peuvent être utilisées qu’à l’intérieur de la classe.

class ExampleClass {
    public function public_method() {
        echo 'This is a public method';
        $this->protected_method();
        $this->private_method();
    }
    protected function protected_method() {
        echo 'This is a protected method';
    }
    private function private_method() {
        echo 'This is a private method';
    }
}

Dans l'exemple ci-dessus, nous avons défini une méthode publique public_method, ainsi que deux méthodes protégées protected_method et une méthode privée private_method. Dans public_method, nous pouvons utiliser $this pour accéder aux méthodes protégées et privées.

Résumé

En PHP, le modificateur public est largement utilisé et il s'applique par défaut aux propriétés et méthodes de classe. Cependant, si nous devons restreindre l’utilisation d’une propriété ou d’une méthode uniquement au sein de la classe, nous pouvons utiliser le modificateur protected ou private. Cette méthode peut contrôler efficacement les autorisations d'accès aux propriétés et aux méthodes de la classe, garantissant ainsi la sécurité et la maintenabilité du code.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn