Einführung in Constructor in PHP
Der Konstruktor ist das PHP5-OOP-Konzept (Object Oriented Programming). Der Konstruktor ist den Klassen zugeordnet, 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 Konstruktoren in PHP kennen.
Syntax
<_?phpClass Classname (
//constructor
function __construct() (
//statements
)
)
?>
Im obigen Codeteil beginnt der Konstruktor mit einem __ doppelten Unterstrich, gefolgt vom Schlüsselwort construct. Ein Konstruktor ohne __construct () oder falls der Name der Klasse geändert wird, 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.
Arten von Konstruktoren
Hier sind einige der Konstruktortypen mit den unten angegebenen Ausgaben
1) Vordefinierter Konstruktor
Sehen wir uns zur Verdeutlichung des vordefinierten Konstruktors ein unten angegebenes Beispiel an
Beispiel für einen vordefinierten Konstruktor
<_?phpclass Person (
function CanSpeak() (
echo " Not a constructor method " . '
';
)
function __construct() (
echo " In the constructor method " . '
';
)
)
//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, wobei eine Person CanSpeak () -Methode und die Konstruktormethode __construct (). Als nächstes haben wir die Klasse als Objekt $ p instanziiert. Mit dem $ p haben wir die normale Methode aufgerufen. Sobald das Objekt erstellt wurde, wird die Konstruktormethode aufgerufen und die Anweisung in der Methode ausgeführt. Ebenso wird die CanSpeak () -Methode, die eine normale Methode und keine Konstruktormethode ist, mit demselben Objekt $ p und der Anweisung in der Methode aufgerufen Diese Methode wird ausgeführt. Da der oben definierte Konstruktor keine Argumente enthält, wird er auch als Nullargumentkonstruktor oder vordefinierter Konstruktor bezeichnet.
2) Parametrisierter Konstruktor
Ein Konstruktor kann mit oder ohne Argumente sein. Der Konstruktor mit Argumenten wird als parametrisierter Konstruktor und der Konstruktor ohne Argumente als Nullargumentkonstruktor bezeichnet. Schauen wir uns ein Beispiel an.
Beispiel eines parametrisierten Konstruktors
class Person (
private $first;
private $email;
private $mobile;
public function __construct($name, $email, $mobile) (
echo "Initialising the object…
";
$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", " ", "9187986786");
$john->showProfile();
Ausgabe:
Wie funktioniert der Konstruktor?
Werfen wir einen Blick auf den Basisklassenkonstruktor und die abgeleitete Klasse, die die Basisklasse mithilfe des Schlüsselworts extend erweitert, das einen eigenen Konstruktor und den übergeordneten Konstruktor zur Ausführung hat. Bisher haben wir nur den Konstruktor kennengelernt, der in einer Klasse deklariert wurde. Lassen Sie uns hier dem Konstruktor etwas mehr Wissen hinzufügen. Mit dem folgenden Beispiel verfügt die Basisklasse Person über einen Konstruktor. Dieser Konstruktor wird jetzt von der abgeleiteten Klasse oder der Unterklasse mithilfe des übergeordneten Schlüsselworts aufgerufen und kann somit auf den Konstruktor der Basisklasse Person zugreifen.
Der Ausgangsfluss -
Zuerst wird der Person-Konstruktor aufgerufen, dann der Customer-Konstruktor, der intern erneut den Person-Konstruktor und dann seinen eigenen Customer-Konstruktor aufruft, 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"."
";
)
)
class Customer extends Person (
function __construct() (
parent::__construct();
echo "In Customer constructor"."
";
)
)
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. Verwenden des Kapselungskonzepts in OOP. Zu Beginn 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, und daher die erste Ausgabe ist. John Doe hat als nächstes ein Objekt der Klasse erstellt und die Methoden set_name und get_name aufgerufen, die die Ausgabe als Alice ausgeben.
<_?phpclass 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:
Der Access Specifier-
Es gibt drei Zugriffsspezifizierer in PHP
- Öffentlichkeit
- Geschützt
- Privat
Öffentlich: Mitglieder der als öffentlich deklarierten Klasse sind überall zugänglich.
Geschützt: Auf Mitglieder der als geschützt deklarierten Klasse kann nur innerhalb der Basisklasse und der abgeleiteten Klasse zugegriffen werden, die die Basisklasse erweitert.
Privat: Auf Mitglieder der als privat deklarierten Klasse kann mit der Klasse zugegriffen werden, die sie definiert.
Außerdem werden die deklarierten Variablen als Datenelemente oder Eigenschaften und die deklarierten Funktionen als Datenmethoden bezeichnet. Im folgenden Beispiel wurde die Basisklasse als Person deklariert, die die folgenden Eigenschaften zusammen mit den Zugriffsspezifizierern öffentlicher Name, geschützte E-Mail und privates Mobiltelefon aufweist. Jetzt wird die Klasse mit einem Objekt $ p und diesen drei Eigenschaften instanziiert, auf die vom Objekt aus zugegriffen wird. Welche Ausgaben sind ein Fehler, warum, weil die Eigenschaft protected besagt, dass protected nur innerhalb der Basisklasse und der abgeleiteten Klasse, die die Basisklasse erweitert, zugänglich ist?
<_?phpclass 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;
?>
Ausgabe:
Fazit
Hoffe, dieser Artikel findet Sie, wonach Sie gesucht haben. Der Artikel enthält verschiedene Beispiele zum Lernen. Je mehr Sie die Beispiele in die Praxis umsetzen, desto leichter wird es, sie zu erfassen.
Empfohlene Artikel
Dies ist eine Anleitung zum Konstruktor in PHP. Hier haben wir die Konstruktortypen und die Funktionsweise des Konstruktors in PHP besprochen. Sie können auch den folgenden Artikel lesen, um mehr zu erfahren -
- Was ist PHP?
- PHP-String-Funktionen
- Python-Sammlungen
- Layout in Java