Heim > Artikel > Backend-Entwicklung > Privat in PHP
Schlüsselwörter sind Wörter, die als Reserve in einem Programm verwendet werden und denen eine besondere Bedeutung zugewiesen wird. Sie können ein Befehl oder ein Parameter sein. Wie jede andere Programmiersprache verfügt auch PHP über eine Reihe spezieller Wörter, sogenannte Schlüsselwörter, die nicht als Variablennamen für andere Zwecke verwendet werden können. Sie werden auch als reservierte Namen bezeichnet.
WERBUNG Beliebter Kurs in dieser Kategorie PHP-ENTWICKLER - Spezialisierung | 8-Kurs-Reihe | 3 ProbetestsStarten Sie Ihren kostenlosen Softwareentwicklungskurs
Webentwicklung, Programmiersprachen, Softwaretests und andere
Ein privates Schlüsselwort ist, wie der Name schon sagt, eines, auf das nur innerhalb der Klasse zugegriffen werden kann, in der es definiert ist. Alle Schlüsselwörter gehören standardmäßig zur Kategorie „Öffentlich“, sofern sie nicht als „privat“ oder „geschützt“ angegeben sind. Private Schlüsselwörter helfen aus Sicherheitsgründen, indem sie dem Schlüsselwort im gesamten Code die geringste Sichtbarkeit verleihen. Die Refraktierung ist auch einfacher, wenn nur eine einzige Klasse dieses Schlüsselwort aufruft.
Neben privaten Schlüsselwörtern kann es auch private Methoden geben. In der objektorientierten Programmierung sind Methoden die einer Klasse zugeordneten Prozeduren. Im Falle privater Methoden dürfen sie nur innerhalb von Methoden aufgerufen werden, die zur gleichen Klasse oder ihrem Modul gehören.
Es gibt auch private Konstanten und Eigenschaften, die deklariert werden können. Die Sichtbarkeit ist in diesen Fällen nur zwischen ihren Klassen und nicht zwischen Instanzen beschränkt. Wenn die beiden Objekte vom gleichen Typ sind, kann ein Objekt die private Methode eines anderen Objekts aufrufen.
Syntax:
Jede Variable, Eigenschaft oder Methode kann als privat deklariert werden, indem ihr das Schlüsselwort „private“ vorangestellt wird.
class MyClass() { private variable_name; private Method_name(); private $priv = 'Private property'; }
Lassen Sie uns die Funktionsweise von Privateigentum in PHP anhand des folgenden Beispiels verstehen:
Code:
<?php /** * Definition of PHPExample */ class PHPExample { public $public = 'Public property'; protected $protected = 'Protected property'; private $private = 'Private property'; function displayValue() { echo $this->public; echo "\n"; echo $this->protected; echo "\n"; echo $this->private; echo "\n"; } } $val = new PHPExample(); echo $val->public; // Public will work without any error echo "\n"; echo $val->protected; // Uncaught Error: Cannot access protected property PHPExample::$protected in /workspace/Main.php:21 echo $val->private; // Uncaught Error: Cannot access private property PHPExample::$private in /workspace/Main.php:22 $val->displayValue(); // Displays all 3 Public, Protected and Private properties /** * Definition of PHPExample2 */ class PHPExample2 extends PHPExample { // It supports redeclaration of public and protected properties and not private public $public = 'Public2 property'; protected $protected = 'Protected2 property'; function displayValue() { echo $this->public; echo "\n"; echo $this->protected; echo "\n"; echo $this->private; //Undefined property: PHPExample2::$private in /workspace/Main.php on line 39 } } $val2 = new PHPExample2(); echo $val2->public; // Public will work without error echo "\n"; echo $val2->protected; // Fatal Error echo $val2->private; // Undefined property: PHPExample2::$private in /workspace/Main.php on line 46 $val2->displayValue(); // Shows Public2, Protected2, Undefined ?>
Ausgabe 1:
Ausgabe 2: Nach dem Kommentar zu Zeile 23.
Ausgabe 3: Nach dem Kommentar in Zeile 24.
Ausgabe 4: Nach dem Kommentieren der Zeilen 46, 47 und 40.
Erklärung zum obigen Code: Wenn Sie diesen Code vollständig ausführen, werden bei einigen Zeilennummern wie der Zeile:25,26,45,52,53 zwangsläufig schwerwiegende Fehler auftreten. Wir deklarieren zunächst alle drei Eigenschaften als öffentlich, privat und geschützt in der Hauptklasse PHPExample, um ihre jeweiligen Wörter anzuzeigen. Inline 25 versuchen wir, auf alle drei Eigenschaften der PHPExample-Klasse zuzugreifen. Da auf private und geschützte Beispiele außerhalb ihrer Klasse nicht zugegriffen werden kann, erhalten wir wie gezeigt einen schwerwiegenden Fehler in der Ausgabe und es wird nur öffentliches Eigentum angezeigt.
In der zweiten Hälfte des Codes deklarieren wir eine weitere Klasse PHPExample2, in der wir die Anzeigewerte für geschützte und öffentliche Eigenschaften neu deklarieren. Das Gleiche ist privat nicht erlaubt und dann führen wir die gleiche Aktion wie in der ersten Halbzeit durch. Da wir versuchen, privates Eigentum aufzurufen, das hier nicht deklariert ist, erhalten wir den Fehler „undefinierte Eigenschaft“.
Lassen Sie uns die Funktionsweise der privaten Methode und der Schlüsselwörter in PHP anhand des folgenden Beispiels verstehen:
Code:
<?php class NameExample { // Declaring first name as private value private $first_name; // Declaring last name as private value private $last_name; public $public = 'Displaying from public method'; private $private ='Displaying from private method'; // private function for setting the value for first_name private function fName($first_name) { $this->$first_name = $first_name; echo $this -> private; } // public function for setting the value for last_name public function lName($last_name) { $this->$last_name = $last_name; echo $this -> public; } // public function to display full name value public function dispName() { echo "My name is: " . $this->$first_name . " " . $this->$last_name; } } // Creating a new object named $arun of the class $arun = new NameExample(); // trying to access private class variables $arun->$first_name = "Arun"; // invalid $arun->$last_name = "Sharma"; // invalid // calling the public function to set $first_name and $last_name $john->fName("John"); $arun->lName("Wick"); // $arun-> dispName(); ?>
Ausgabe 1:
Ausgabe 2:Nach dem Kommentieren der Zeilen 32, 33 und 36.
Erklärung zum obigen Code: Im obigen Beispiel werden $first_name und $last_name als private Variablen der Klasse NameExample deklariert und können daher nicht direkt mit einem Klassenobjekt aufgerufen werden. Daher erhalten wir beim ersten Versuch, den Code auszuführen, die Fehlermeldung „Undefinierte Variable: Vorname in /workspace/NameExample.php in Zeile 32“ und das Gleiche gilt für Zeile 33. Wenn wir diese beiden Zeilen kommentieren und den Code erneut ausführen Wir erhalten die Fehlermeldung „Uncaught Error: Call to a member function name() on null in /workspace/NameExample.php:36“.
Das liegt daran, dass wir die Funktion fName als privat deklariert haben und sie versucht, darauf zuzugreifen. Der Code läuft reibungslos, wenn Zeile 36 auch kommentiert ist und ab dem Methodennamen angezeigt wird, da es sich um eine öffentliche Methode handelt.
Im Folgenden sind die Vorteile der Verwendung von Private in PHP aufgeführt:
Im Folgenden sind die Regeln und Vorschriften aufgeführt, die für Private in PHP zu befolgen sind:
Privat ist eine Möglichkeit, den Zugriff auf Variablen, Methoden oder Eigenschaften einer Klasse einzuschränken. Auf sie kann nur in der Klasse zugegriffen werden, in der sie deklariert wurden, und nicht von einer Unterklasse aus, die von dieser Klasse ausgeht. Jede geschützte Eigenschaft einer übergeordneten Klasse kann von einer Unterklasse überschrieben und öffentlich gemacht werden, kann jedoch nicht privat gemacht werden.
Das obige ist der detaillierte Inhalt vonPrivat in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!