Was ist der Unterschied zwischen öffentlich, privat und geschützt in PHP?

Was Ist Der Unterschied Zwischen Offentlich Privat Und Geschutzt In Php



PHP wird häufig für die Entwicklung dynamischer Websites und Webanwendungen verwendet. PHP stellt Schlüsselwörter bereit, die als bekannt sind Zugriffsmodifikatoren . Die Zugriffsmodifikatoreigenschaften werden verwendet, um auf die Variable, die Klasse oder die Klasseneigenschaften auf drei verschiedene Arten zuzugreifen, z öffentlich , Privatgelände, Und geschützt . In diesem Artikel werden wir diese Zugriffsmodifikatoren besprechen und den Unterschied zwischen diesen drei Zugriffsmodifikatoren in der Programmiersprache PHP ermitteln.

Was sind Zugriffsmodifikatoren in PHP?

In PHP sind Zugriffsmodifikatoren unerlässlich, da sie Benutzern die Möglichkeit geben, die Sichtbarkeit sowie die Zugänglichkeit von Klassenattributen und Methoden zu regulieren. Als Ergebnis davon bietet es Einkapselung und Datensicherheit, und daher sind die Klassenmitglieder vor unbefugtem Zugriff oder Änderung geschützt. Außerdem erleichtert es die Wartung des Codes und das Debuggen.







Arten von Zugriffsmodifikatoren

Die drei in PHP vorhandenen Zugriffsmodifikatoren werden im Folgenden erläutert:



  • Öffentlich: Sie können von außerhalb der Klasse auf eine öffentliche Methode zugreifen. Dies impliziert, dass jeder Code auf eine öffentliche Methode zugreifen, diese ändern und aufrufen kann.
  • Privatgelände: Der Zugriff auf die private Methode ist auf die Klasse selbst beschränkt. Dies impliziert, dass keiner der anderen Codes, selbst wenn es sich um eine untergeordnete Klasse handelt, auf eine private Methode zugreifen oder den privaten Wert lesen darf.
  • Geschützt: Auf eine geschützte Methode kann nur innerhalb einer Klasse und der damit verbundenen Klassen zugegriffen werden. es kann nicht außerhalb dieser Klassen verwendet werden. Jeder Quellcode, der auf die Klasseninstanz zugreifen muss, kann die Daten einer geschützten Eigenschaft lesen oder ändern oder eine geschützte Funktion aufrufen.

Unterschied zwischen öffentlichen, privaten und geschützten Zugriffsmodifikatoren in PHP

Eigentum Öffentlich Privatgelände Geschützt
Barrierefreiheit Auf diese Zugriffsmodifikatoren kann überall zugegriffen werden, z. B. innerhalb und außerhalb des Codes. Auf private Zugriffsspezifizierer kann nur innerhalb der Klasse zugegriffen werden. Es könnte innerhalb der Klasse und ihrer verwandten (untergeordneten) Klassen und Methoden zugänglich sein.
Flexibilität Die größte Flexibilität bieten öffentliche Ressourcen, da sie von überall zugänglich sind. Da sie ausschließlich innerhalb der Klasse zugänglich sind, bieten diese Methoden die geringste Flexibilität. Die geschützte Methode bietet moderate Flexibilität, da untergeordnete Klassen auf diese Methoden zugreifen können.
Verkapselung Anderer Code kann auf öffentliche Methoden zugreifen oder diese kapseln, aber der Programmierer hat die Kontrolle darüber. Eine private Methode ist innerhalb der Klasse gekapselt, sodass externer Code nicht darauf zugreifen oder sie aktualisieren kann. Der Kapselungsprozess ist der gleiche wie bei der öffentlichen Methode in PHP.
Sicherheit Öffentliche Methoden sind von überall zugänglich. Sie bieten also ein geringes Maß an Sicherheit im Code. Das maximale Sicherheitsniveau wird durch private Zugriffsmodifikatoren bereitgestellt, da sie vollständig in der Klasse enthalten sind. Da nur Mitglieder der Klasse und ihrer Unterklassen auf sie zugreifen können, bieten geschützte Zugriffsmodifikatoren ein angemessenes Maß an Sicherheit.

Sehen wir uns den Unterschied zwischen diesen Zugriffsspezifizierern anhand eines einfachen Programmbeispiels in PHP an.



Beispiel: PHP-Programm mit privaten, öffentlichen und geschützten Zugriffsmodifikatoren





Das folgende Beispiel zeigt den Unterschied zwischen öffentlich, privat und geschützt in einem Beispielcode:

< ?php
Klasse MeineKlasse {
öffentlich $öffentlich = 'Öffentliche Variable. \N ' ; // Kann von überall darauf zugegriffen werden
Privatgelände $privat = 'Private-Variable. \N ' ; // Kann nur innerhalb der Klasse aufgerufen werden
geschützt $geschützt = 'Geschützte Variable.' ; // Kann innerhalb der Klasse und aller Unterklassen aufgerufen werden

öffentlich Funktion GetPrivate ( ) {
zurückkehren $das - > Privatgelände;
}

öffentlich Funktion getProtected ( ) {
zurückkehren $das - > geschützt;
}
}
$obj = neue MyClass ( ) ;

Echo $obj - > öffentlich;
Echo $obj - > GetPrivate ( ) ;
Echo $obj - > getProtected ( ) ;
? >



Im obigen Programm haben wir eine Klasse definiert als Meine Klasse mit einem öffentlichen Eigentum als $öffentlich die überall im Code zugreifen könnten, ein privates Eigentum als $privat , und eine geschützte Eigenschaft namens $geschützt , daher können wir nicht direkt von außerhalb der Klasse auf private und geschützte Spezifizierer zugreifen. Da wir zwei öffentliche Methoden aufgerufen haben getPrivate() Und getProtected() die die Werte der privaten bzw. geschützten Eigenschaftsvariablen zurückgeben, und die Ausgabe ist unten angegeben:

Abschluss

PHP bietet viele Funktionalitäten und eine davon sind die Schlüsselwörter, die als Zugriffsmodifikatoren bezeichnet werden. Diese Zugriffsmodifikatoren bieten unterschiedliche Zugriffsmuster auf die Daten von Klassen im PHP-Programm. Im obigen Tutorial haben wir den Unterschied zwischen Zugriffsmodifikatoren in Bezug auf Zugänglichkeit, Kapselung, Flexibilität und Sicherheit gesehen, die in PHP angeboten werden.