Privat in PHP

WBOY
Freigeben: 2024-08-29 13:08:07
Original
897 Leute haben es durchsucht

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 Probetests

Starten 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';
}
Nach dem Login kopieren

Beispiel für Privateigentum

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
?>
Nach dem Login kopieren

Ausgabe 1:

Privat in PHP

Ausgabe 2: Nach dem Kommentar zu Zeile 23.

Privat in PHP

Ausgabe 3: Nach dem Kommentar in Zeile 24.

Privat in PHP

Ausgabe 4: Nach dem Kommentieren der Zeilen 46, 47 und 40.

Privat in PHP

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“.

Beispiel für private Methode und Schlüsselwort

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();
?>
Nach dem Login kopieren

Ausgabe 1:

Privat in PHP

Ausgabe 2:Nach dem Kommentieren der Zeilen 32, 33 und 36.

Privat in PHP

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.

Vorteile der Verwendung von Private in PHP

Im Folgenden sind die Vorteile der Verwendung von Private in PHP aufgeführt:

  1. Auf private Variablen kann weiterhin durch die Verwendung von „Gettern“ und „Settern“ zugegriffen werden, was dem Programmierer mehr Kontrolle über den Zugriff auf die Daten gibt.
  2. Private Inturn bedeutet Kapselung, die auch die Variablen von einer Klasse zur anderen trennt und somit die intern an der Klasse vorgenommenen Änderungen schützt.
  3. Das Verhalten privater Variablen ist innerhalb dieser bestimmten Klasse eingeschränkt und vermeidet außerdem Verwirrung.
  4. Private Variablen können problemlos neu implementiert werden, ohne dass das Risiko besteht, dass der Code irgendwo beschädigt wird.

Regeln und Vorschriften für Private in PHP

Im Folgenden sind die Regeln und Vorschriften aufgeführt, die für Private in PHP zu befolgen sind:

  1. Für jedes Variablenmitglied oder jede Methode muss immer der Gültigkeitsbereich angegeben werden, ob es öffentlich, geschützt oder privat ist.
  2. Bei der Reihenfolge der Methoden sollte folgende Reihenfolge eingehalten werden: öffentlich,> geschützt > privat
  3. Auf private Variablen kann nicht von der deklarierten Unterklasse aus zugegriffen werden, indem man sie von der Hauptklasse aus erweitert, in der sie deklariert sind. Es kann jedoch darauf zugegriffen werden, wenn dieselbe private Eigenschaft erneut in der Unterklasse deklariert wird. Dies ist jedoch nicht ratsam.
  4. Daher kann eine in einer Klasse deklarierte private Methode nur innerhalb dieser Klasse aufgerufen werden.

Fazit

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!

Verwandte Etiketten:
php
Quelle:php
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage