Detaillierte Erläuterung der PHP-Berechtigungskontrollmodifikatoren: Um die häufig verwendeten Berechtigungskontrollmodifikatoren vollständig zu verstehen, sind spezifische Codebeispiele erforderlich
In der PHP-Entwicklung ist die Berechtigungskontrolle ein sehr wichtiges Konzept, das die Sicherheit und Zuverlässigkeit von effektiv gewährleisten kann der Code. Bei der Berechtigungskontrolle sind Modifikatoren wesentliche Elemente. In PHP gibt es drei Modifikatoren: public, protected und private, die jeweils drei Zugriffsrechte darstellen. In diesem Artikel werden ihre Verwendung und Nutzungsszenarien ausführlich vorgestellt und spezifische Codebeispiele bereitgestellt, um den Lesern ein besseres Verständnis zu erleichtern.
Der öffentliche Modifikator ist der am häufigsten verwendete Berechtigungsmodifikator. Nach dem Hinzufügen des öffentlichen Modifikators vor den Eigenschaften oder Methoden in der Klasse werden diese öffentlich und können sowohl innerhalb als auch außerhalb der Klasse verwendet werden. Hier ist ein Beispiel:
class Person { public $name; public function sayHello() { echo 'Hello!我的名字是' . $this->name; } } $person = new Person(); $person->name = 'Tom'; $person->sayHello();
Mit dem obigen Code erstellen wir eine Person-Klasse und definieren darin eine öffentliche Eigenschaft $name und eine öffentliche Methode sayHello(). Durch Zuweisen eines Werts zum Attribut $name und Aufrufen der Methode sayHello() kann der Wert des Attributs extern abgerufen und geändert werden, und die entsprechende Methode kann aufgerufen werden.
geschützter Modifikator ist auf das Innere der Klasse und Unterklassen der Klasse beschränkt. Er kann verwendet werden, um den Zugriff oder die beliebige Änderung durch Code außerhalb der Klasse auf die Attribute oder Methoden der Klasse zu schützen. Hier ist ein Beispiel:
class Person { protected $name; protected function sayHello() { echo 'Hello!我的名字是' . $this->name; } } class Student extends Person { public function introduce() { echo '我是' . $this->name . ',来自阿凡达星球'; } } $student = new Student(); $student->name = 'Lucy'; //会出错 $student->introduce();
Wie Sie dem obigen Beispiel entnehmen können, haben wir eine neue Klasse „Student“ erstellt und die Klasse „Person“ geerbt. In der Person-Klasse sind ein geschütztes $name-Attribut und eine geschützte sayHello()-Methode definiert, und in der Student-Klasse definieren wir eine öffentliche „introducing()“-Methode, um das $name-Attribut anzuzeigen, da die $name-Eigenschaft in der Student-Klasse nicht möglich ist direkt angesprochen werden kann, wird ihm daher der falsche Wert zugewiesen. Auf diese Weise wird $name nicht an andere Teile des Codes weitergegeben.
privater Modifikator ist strenger und kann nur innerhalb der Klasse aufgerufen werden und kann nicht von externem Code oder Unterklassen der Klasse aufgerufen werden. Hier ist ein Beispiel:
class Person { private $name; private function sayHello() { echo 'Hello!我的名字是' . $this->name; } } $person = new Person(); $person->name = 'Lily'; //会出错 $person->sayHello(); //会出错
Wie Sie dem obigen Beispiel entnehmen können, haben wir eine Person-Klasse erstellt und darin eine private Eigenschaft $name und eine private Methode sayHello() definiert. Da sowohl $name als auch sayHello() als privat festgelegt sind, kann von außen nicht auf sie zugegriffen werden und jeder Versuch, über externen Code auf sie zuzugreifen, führt zu einem Fehler.
Zusammenfassung
Anhand der obigen Beispiele können wir die Verwendung und Nutzungsszenarien der drei Modifikatoren sehen, die den drei Zugriffsrechten öffentlich, geschützt und privat entsprechen. In der PHP-Entwicklung kann der sinnvolle Einsatz von Berechtigungskontrollmodifikatoren nicht nur die Wartbarkeit und Sicherheit des Codes verbessern, sondern auch Fehler und Bugs im Code wirksam verhindern.
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der PHP-Modifikatoren für die Berechtigungssteuerung: Umfassendes Verständnis häufig verwendeter Modifikatoren für die Berechtigungssteuerung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!