Der Konstruktor ist das PHP5 OOP-Konzept (Object Oriented Programming). Der Konstruktor ist mit den Klassen verknüpft, die wir im Programm deklarieren. Der Konstruktor wird automatisch aufgerufen, wenn das Objekt der Klasse instanziiert wird. Daher lautet die Definition des Konstruktors wie folgt: „Ein Konstruktor ist eine spezielle Methode, die automatisch aufgerufen wird, wenn das Objekt der Klasse instanziiert wird.“ In diesem Thema lernen wir etwas über Konstruktoren in PHP.
WERBUNG Beliebter Kurs in dieser Kategorie PHP-ENTWICKLER - Spezialisierung | 8-Kurs-Reihe | 3 ProbetestsStarten Sie Ihren kostenlosen Softwareentwicklungskurs
Webentwicklung, Programmiersprachen, Softwaretests und andere
Syntax
<?php Class Classname { //constructor function __construct() { //statements } } ?>
Im obigen Codeteil beginnt der Konstruktor mit einem doppelten Unterstrich __, gefolgt vom Schlüsselwort Konstrukt. Ein Konstruktor ohne __construct() oder falls der Name der Klasse geändert wird, dann ist die definierte Methode nur eine Methode und kein Konstruktor. Daher ist es wichtig, den Konstruktor in einer Klasse gemäß der definierten Syntax zu definieren.
Hier sind einige der Konstruktortypen mit der unten angegebenen Ausgabe
Um den vordefinierten Konstruktor zu verdeutlichen, schauen wir uns ein Beispiel unten an
Beispiel eines vordefinierten Konstruktors
Code:
<?php class Person { function CanSpeak() { echo " Not a constructor method " . '<br>'; } function __construct() { echo " In the constructor method " . '<br>'; } } //Object of class calling the constructor internally $p = new Person(); // Object of class calling the normal method $p->CanSpeak(); ?>
Ausgabe:
Im obigen Beispiel
Wir haben eine Klasse Person, die zwei Methoden hat, nämlich eine Person CanSpeak() Methode und die Konstruktormethode __construct(). Als nächstes haben wir die Klasse als Objekt $p instanziiert. Mit $p haben wir die normale Methode aufgerufen. Sobald das Objekt erstellt wird, wird die Konstruktormethode aufgerufen und die Anweisung innerhalb der Methode ausgeführt. Ebenso wird die CanSpeak()-Methode, die eine normale Methode und keine Konstruktormethode ist, unter Verwendung desselben Objekts $p und der Anweisung darin aufgerufen diese Methode wird ausgeführt. Da der oben definierte Konstruktor keine Argumente hat, nennen wir ihn außerdem einen Null-Argument-Konstruktor oder einen vordefinierten Konstruktor.
Ein Konstruktor kann mit oder ohne Argumente sein. Der Konstruktor mit Argumenten wird als parametrisierter Konstruktor bezeichnet, der Konstruktor ohne Argumente als Konstruktor ohne Argumente. Schauen wir uns ein Beispiel an.
Beispiel eines parametrisierten Konstruktors
Code:
class Person { private $first; private $email; private $mobile; public function __construct($name, $email, $mobile) { echo "Initialising the object...<br/>"; $this->name = $name; $this->email = $email; $this->mobile = $mobile; } public function showProfile() { echo "My name is: " . $this->name. " " . $this->email. " " . $this->mobile; } } $john = new Person("John","[email protected]", "9187986786"); $john->showProfile();
Ausgabe:
Werfen wir einen Blick auf den Basisklassenkonstruktor und die abgeleitete Klasse, die die Basisklasse mithilfe des Schlüsselworts „extends“ erweitert, das über einen eigenen Konstruktor zur Ausführung und den übergeordneten Konstruktor zur Ausführung verfügt. Bisher haben wir nur etwas über den in einer Klasse deklarierten Konstruktor gelernt. Lassen Sie uns hier etwas mehr Wissen zum Konstruktor hinzufügen. Im folgenden Beispiel verfügt die Basisklasse Person über einen Konstruktor. Dieser Konstruktor wird nun von der abgeleiteten Klasse oder der Unterklasse mithilfe des übergeordneten Schlüsselworts aufgerufen und kann somit auf den Konstruktor der Basisklasse Person zugreifen.
Zuerst wird der Person-Konstruktor aufgerufen, dann wird der Customer-Konstruktor aufgerufen, der intern erneut den Person-Konstruktor aufruft, dann seinen eigenen Kundenkonstruktor und zuletzt die Employee-Klasse, die die Person-Klasse erweitert, sodass der Person-Konstruktor erneut aufgerufen wird.
Code:
class Person { function __construct() { echo "In Person constructor"."<br>"; } } class Customer extends Person { function __construct() { parent::__construct(); echo "In Customer constructor"."<br>"; } } class Employee extends Person { // inherits Person’s constructor } // In Person constructor $p = new Person(); // In Person constructor // In Customer constructor $c = new Customer(); // In Employee constructor $e = new Employee();
Ausgabe:
Im folgenden Beispiel haben wir gezeigt, wie die Set-Methode und die Get-Methode funktionieren. Verwendung des Kapselungskonzepts in OOP. Zunächst wird das Programm mit einem Konstruktor, einer set_name-Methode und einer get_name-Methode deklariert. Beachten Sie, dass der Konstruktor ein parametrisierter Konstruktor ist, der definitiv aufgerufen wird, wenn die Klasse instanziiert wird. Daher ist die erste Ausgabe John Doe, der als nächstes ein Objekt der Klasse erstellt und die Methoden set_name und get_name aufgerufen hat, die die Ausgabe als Alice ausgeben.
Code:
<?php class Person { public $name; function __construct($name) { echo $this->name = $name; } function set_name($name) { $this->name = $name; } function get_name() { echo $this->name; } } // In Person constructor $p = new Person('John Doe'); echo "\n"; $p->set_name('Alice'); $p->get_name(); ?>
Ausgabe:
Es gibt drei Zugriffsspezifizierer in PHP
Öffentlich: Mitglieder der als öffentlich deklarierten Klasse sind überall zugänglich.
Protected: Members of the class declared as protected are accessible only within the base class and the derived class which extends the base class.
Private: Members of the class declared as private are accessible with the class that defines it.
Also, the variables declared are called data members or properties and the functions declared are called as data methods. In the below example we have Base Class declared as Person which has the following properties along with the access specifiers public name, protected email and private mobile. Now the class is instantiated with an object $p and these three properties which are accessed from the object. which outputs are an error, why because, the protected property says that protected are accessible only within the base class and the derived class which extends the base class?
Code:
<?php class Person { public $name=; protected $email; private $mobile; function __construct() { print "In Person constructor"; } } // In Person constructor $p = new Person(); echo $p->name; echo $p->email; echo $p->mobile; ?>
Output:
Hope this article finds you what you have been searching for. The article has different examples for you to learn. The more you put the examples in practice the easier it will become to grasp.
Das obige ist der detaillierte Inhalt vonKonstruktor in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!