Inleiding tot Constructor in PHP

De constructor is het PHP5 OOP-concept (Object Oriented Programming). De constructor is gekoppeld aan de klassen die we in het programma aangeven. De constructor wordt automatisch aangeroepen wanneer het object van de klasse wordt geïnstantieerd, dus de definitie van constructor gaat als volgt: "Een constructor is een speciale methode die automatisch wordt aangeroepen wanneer het object van de klasse wordt geïnstantieerd". In dit onderwerp gaan we meer te weten komen over constructors in PHP.

Syntaxis

<_?php
Class Classname (
//constructor
function __construct() (
//statements
)
)
?>

In het bovenstaande stuk code begint de constructor met een dubbele _-onderstrepingsteken gevolgd door het trefwoordconstructie. Een constructor zonder __construct () of in het geval dat de naam van de klasse wordt gewijzigd, is de gedefinieerde methode slechts een methode en geen constructor. Het is dus belangrijk om de constructor in een klasse te definiëren volgens de gedefinieerde syntaxis.

Soorten constructor

Hier zijn enkele van de typen Constructor met hun output hieronder gegeven

1) Vooraf gedefinieerde constructor

Laten we ter verduidelijking van een vooraf gedefinieerde constructor een voorbeeld hieronder bekijken

Voorbeeld van vooraf gedefinieerde constructor

<_?php
class 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();
?>

Output:

In het bovenstaande voorbeeld

We hebben een klasse Persoon, die twee methoden heeft, waarbij een persoon CanSpeak () Method en de constructormethode __construct (). Vervolgens hebben we de klasse geïnstantieerd als een object $ p. Met behulp van de $ p hebben we de normale methode genoemd. Zodra het object is gemaakt, wordt de constructormethode aangeroepen en wordt de instructie in de methode uitgevoerd. Op dezelfde manier wordt de CanSpeak () -methode, die een normale methode is en geen constructormethode, aangeroepen met hetzelfde object $ p en de instructie binnen die methode wordt uitgevoerd. Omdat de hierboven gedefinieerde constructor geen argumenten heeft, noemen we het ook een nul-argumentconstructor of een vooraf gedefinieerde constructor.

2) Geconfigureerde constructor

Een constructor kan met of zonder argumenten zijn. De constructor met argumenten wordt de geparametriseerde constructor genoemd en de constructor zonder argumenten wordt de nul-argument constructor genoemd. Laten we een voorbeeld bekijken.

Voorbeeld van geparametriseerde constructor

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();

Output:

Hoe werkt Constructor?

Laten we eens kijken naar de constructeur van de basisklasse en de afgeleide klasse die de basisklasse uitbreidt met behulp van het sleutelwoord 'expand' dat zijn eigen constructor moet uitvoeren en de constructor die ook wordt uitgevoerd. Tot nu toe hoorden we alleen over de constructeur die in een klas werd verklaard. Laten we hier wat meer kennis aan de constructor toevoegen. In het volgende voorbeeld heeft de basisklasse Persoon een constructor, nu wordt deze constructor aangeroepen door de afgeleide klasse of de Subklasse met behulp van het hoofdwoord sleutelwoord en heeft zo toegang tot de constructor van de Basisklasse Persoon.

De outputstroom -

Eerst wordt de constructor Persoon aangeroepen, vervolgens wordt de constructor Klant aangeroepen die intern de constructor Person weer roept en vervolgens zijn eigen klantconstructor en als laatste de klasse Employee die de klasse Person uitbreidt, zodat de constructor Person opnieuw wordt aangeroepen.

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();

Output:

In het onderstaande voorbeeld hebben we laten zien hoe de ingestelde methode en de methode get werken. Het inkapselingsconcept gebruiken in OOP. Aanvankelijk wordt het programma gedeclareerd met een constructor, een set_name methode en een get_name methode. Merk op dat de constructor een geparametriseerde constructor is die zeker wordt aangeroepen wanneer de klasse wordt geïnstantieerd en daarom heeft de eerste uitvoer John Doe vervolgens een object van de klasse gemaakt en de methoden set_name en get_name genoemd die de uitvoer als Alice afdrukken.

<_?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();
?>

Output:

De toegangsspecificatie

Er zijn drie toegangsspecificaties in PHP

  • Openbaar
  • beschermde
  • Privaat

Openbaar: leden van de klas die als openbaar zijn verklaard, zijn overal toegankelijk.

Beschermd: leden van de klasse die als beschermd wordt verklaard, zijn alleen toegankelijk binnen de basisklasse en de afgeleide klasse die de basisklasse uitbreidt.

Privé: leden van de klasse die privé zijn verklaard, zijn toegankelijk met de klasse die de klasse definieert.

De gedeclareerde variabelen worden ook gegevensleden of eigenschappen genoemd en de gedeclareerde functies worden gegevensmethoden genoemd. In het onderstaande voorbeeld hebben we Base Class gedeclareerd als Persoon die de volgende eigenschappen heeft samen met de openbare naam van de toegangsspecificaties, beveiligde e-mail en privé-mobiel. Nu wordt de klasse geïnstantieerd met een object $ p en deze drie eigenschappen die vanuit het object worden benaderd. welke uitgangen zijn een fout, waarom omdat de beschermde eigenschap zegt dat beschermd alleen toegankelijk is binnen de basisklasse en de afgeleide klasse die de basisklasse uitbreidt?

<_?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:

Conclusie

Ik hoop dat dit artikel je vindt waar je naar op zoek was. Het artikel bevat verschillende voorbeelden om te leren. Hoe meer je de voorbeelden in de praktijk brengt, hoe gemakkelijker het wordt om het te begrijpen.

Aanbevolen artikelen

Dit is een gids voor Constructor in PHP. Hier hebben we de typen constructor besproken en hoe werkt de constructor in PHP. U kunt ook het volgende artikel bekijken voor meer informatie -

  1. Wat is PHP?
  2. PHP String Functies
  3. Python-collecties
  4. Indeling in Java