Heim  >  Artikel  >  Backend-Entwicklung  >  Enthüllung der Geheimnisse von PHP-Berechtigungskontrollmodifikatoren: Beherrschung der Verwendungsfähigkeiten in praktischen Anwendungen

Enthüllung der Geheimnisse von PHP-Berechtigungskontrollmodifikatoren: Beherrschung der Verwendungsfähigkeiten in praktischen Anwendungen

WBOY
WBOYOriginal
2024-01-19 10:06:061235Durchsuche

Enthüllung der Geheimnisse von PHP-Berechtigungskontrollmodifikatoren: Beherrschung der Verwendungsfähigkeiten in praktischen Anwendungen

PHP ist eine in der Webentwicklung weit verbreitete Programmiersprache. Bei der Entwicklung von Webanwendungen ist die Berechtigungskontrolle ein wesentlicher Bestandteil. Die Berechtigungskontrolle kann die Datensicherheit und Funktionsintegrität der Anwendung gewährleisten. PHP bietet viele Modifikatoren für die Berechtigungskontrolle, die in diesem Artikel besprochen werden.

Einführung in Berechtigungskontrollmodifikatoren

In PHP gibt es drei Haupttypen von Berechtigungskontrollmodifikatoren: öffentlich, geschützt und privat.

Öffentlich bedeutet öffentlichen Zugriff, und auf seine Eigenschaften und Methoden kann überall innerhalb und außerhalb der Klasse zugegriffen werden.

protected bedeutet geschützten Zugriff, und auf seine Eigenschaften und Methoden kann in der aktuellen Klasse und den Unterklassen zugegriffen werden.

private bedeutet privaten Zugriff. Auf seine Eigenschaften und Methoden kann nur in der aktuellen Klasse zugegriffen werden.

Zusätzlich zu den oben genannten drei Berechtigungskontrollmodifikatoren gibt es auch final und static.

final stellt die letzte Klasse dar und ihre Eigenschaften und Methoden können nicht vererbt werden.

statisch bedeutet, dass es sich um eine statische Klasse handelt, auf deren Eigenschaften und Methoden überall innerhalb und außerhalb der Klasse zugegriffen werden kann und die ohne Instanziierung der Klasse verwendet werden kann.

Das Prinzip der Implementierung der Berechtigungskontrolle

Die Eigenschaften und Methoden in der Klasse verfügen über einen Modifikator, um ihre Sichtbarkeit einzuschränken und so eine Berechtigungskontrolle zu erreichen.

Der PHP-Parser bestimmt Zugriffsberechtigungen basierend auf Modifikatoren. Wenn eine Eigenschaft oder Methode keinen Modifikator definiert, ist sie standardmäßig öffentlich.

Nutzungsfähigkeiten in praktischen Anwendungen

Jetzt werden wir die Verwendungsfähigkeiten von Berechtigungskontrollmodifikatoren anhand tatsächlicher Anwendungsszenarien erlernen.

  1. Verhindern Sie, dass Attribute manipuliert werden.

Um die Integrität und Sicherheit von Daten zu gewährleisten, müssen wir in vielen Webanwendungen einige Attribute einschränken, um zu verhindern, dass sie manipuliert werden. Dies kann mit dem privaten Attributmodifikator erreicht werden.

Das Folgende ist ein Beispiel:

class User {
    private $username;
    private $password;
    
    public function __construct($username, $password) {
        $this->username = $username;
        $this->password = $password;
    }
    
    public function getUsername() {
        return $this->username;
    }
    
    public function getPassword() {
        return $this->password;
    }
}

$user = new User('Tom', '123456');
$user->username = 'Jerry'; // 禁止修改
  1. Verhindern, dass Methoden überschrieben werden

In einigen Fällen hoffen wir, dass eine Methode einer Klasse nicht von ihren Unterklassen überschrieben werden kann, was mit dem endgültigen Attributmodifikator erreicht werden kann.

Hier ist ein Beispiel:

class Animal {
    final public function move() {
        echo 'Moving...';
    }
}
 
class Dog extends Animal {
    // 错误示例
    public function move() {
        echo 'Running...';
    }
}

$dog = new Dog();
$dog->move(); // 输出 Moving...
  1. Geschützter Attributzugriff

Wenn Sie den Zugriff auf bestimmte Attribute einschränken müssen, können Sie den Modifikator für geschützte Attribute verwenden.

Das Folgende ist ein Beispiel:

class Person {
    protected $name;
    
    public function __construct($name) {
        $this->name = $name;
    }
}

class Student extends Person {
    public function getName() {
        // 错误示例
        return $this->name;
    }
}

$student = new Student('Tom');
echo $student->getName(); // 输出空白,无法访问父类属性
  1. Kontrollierten Zugriff erreichen

In komplexen Anwendungen ist eine detailliertere Zugriffskontrolle für bestimmte Eigenschaften oder Methoden erforderlich. Sie können öffentliche Methoden verwenden, um Eigenschaftswerte abzurufen oder festzulegen. Dadurch können Sie den Zugriff auf Eigenschaften über öffentliche Methoden steuern.

Das Folgende ist ein Beispiel:

class User {
    private $username;
    private $password;
    
    public function __construct($username, $password) {
        $this->username = $username;
        $this->password = $password;
    }
    
    public function setUsername($username) {
        // 禁止修改用户名
        if ($this->username === $username) {
            return false;
        }
        
        $this->username = $username;
        return true;
    }
    
    public function setPassword($password) {
        $this->password = $password;
    }
    
    public function getUsername() {
        return $this->username;
    }
    
    public function getPassword() {
        return $this->password;
    }
}

$user = new User('Tom', '123456');
$user->setUsername('Jerry'); // 禁止修改
$user->setPassword('654321');
echo $user->getUsername() . ':' . $user->getPassword(); // 输出 Tom:654321

Zusammenfassung

In der PHP-Entwicklung ist die Berechtigungskontrolle ein sehr wichtiger Teil. Durch die Berechtigungskontrolle können Sie den Zugriffsbereich steuern, die Datensicherheit schützen und die Zuverlässigkeit und Stabilität der Anwendung verbessern . Dieser Artikel stellt die häufig verwendeten Berechtigungskontrollmodifikatoren in PHP vor und erklärt und demonstriert sie anhand tatsächlicher Anwendungsszenarien. Ich hoffe, dass er für PHP-Entwickler hilfreich sein wird.

Das obige ist der detaillierte Inhalt vonEnthüllung der Geheimnisse von PHP-Berechtigungskontrollmodifikatoren: Beherrschung der Verwendungsfähigkeiten in praktischen Anwendungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn