Bei der Entwicklung von Webanwendungen ist die Berechtigungskontrolle ein wichtiger Teil der Gewährleistung der Sicherheit. PHP bietet eine Vielzahl von Berechtigungsmodifikatoren zur Steuerung des Zugriffs auf Klassen, Eigenschaften und Methoden. In diesem Artikel werden die Funktionen dieser Modifikatoren im Detail analysiert und anhand von Beispielcode gezeigt, wie sie angewendet werden.
Public ist der grundlegendste Modifikator in PHP und gibt an, dass von überall aus auf Klassen, Eigenschaften und Methoden zugegriffen werden kann. Als öffentlich deklarierte Mitglieder können direkt durch Code außerhalb der Klasse aufgerufen werden. Zum Beispiel:
class Car {
public $color; // publicEigentum
public function drive() { // publicVerfahren
echo "Driving";
}
}
Im obigen Code sind die Eigenschaft „$color“ und die Methode „drive()“ der Klasse „Car“ beide öffentlich, sodass jedes Objekt auf sie zugreifen kann:
$myCar = new Car();
$myCar->color = "red"; // ZugangpublicEigentum
$myCar->drive(); // AnrufpublicVerfahren
Der geschützte Modifikator gibt an, dass auf die Eigenschaft oder Methode nur innerhalb der Klasse selbst und ihrer Unterklassen zugegriffen werden kann. Es kann nicht direkt von außerhalb der Klasse aufgerufen werden. Zum Beispiel:
class Car {
protected $color; // protectedEigentum
protected function drive() { // protectedVerfahren
echo "Driving";
}
}
Unterklassen können auf geschützte Mitglieder der übergeordneten Klasse zugreifen:
class SportsCar extends Car {
public function set_color($color) {
$this->color = $color; // ZugangprotectedEigentum
}
}
$sportsCar = new SportsCar();
$sportsCar->set_color("blue"); // AnrufpublicVerfahren
Private ist der strengste Zugriffsmodifikator und erlaubt den Zugriff nur innerhalb der Klasse. Auf private Mitglieder kann außerhalb der Klasse nicht zugegriffen oder sie aufgerufen werden. Zum Beispiel:
class Car {
private $mileage; // privateEigentum
private function update_mileage() { // privateVerfahren
$this->mileage++;
}
}
Der Zugriff auf private Mitglieder außerhalb der Klasse führt zu einem Fehler:
$myCar = new Car();
$myCar->mileage = 1000; // Fehler
$myCar->update_mileage(); // Fehler
Der letzte Modifikator kann für Klassen und Methoden verwendet werden, um anzugeben, dass sie nicht vererbt oder überschrieben werden können. Wird verwendet, um sicherzustellen, dass eine Klasse oder Methode nicht geändert wird. Zum Beispiel:
class Car {
final public function drive() { // finalVerfahren
echo "Driving";
}
}
class SportsCar extends Car {
public function drive() { // Werde einen Fehler melden
echo "Driving fast";
}
}
Durch die Verwendung von final kann sichergestellt werden, dass wichtige Methoden oder Klassen unverändert bleiben, wodurch die Stabilität und Sicherheit des Codes erhöht wird.
In diesem Artikel werden häufig verwendete Berechtigungsmodifikatoren in PHP und ihre Anwendungen vorgestellt:
Die Beherrschung der Verwendung dieser Modifikatoren kann dazu beitragen, eine gute Berechtigungskontrolle und ein gutes Design der Codestruktur zu erreichen und die Sicherheit und Wartbarkeit von Anwendungen zu verbessern.