Introduksjon til konstruktør i PHP

Konstruktøren er PHP5 OOP (Object Oriented Programming) -konsept. Konstruktøren er tilknyttet klassene vi erklærer i programmet. Konstruktøren blir automatisk kalt når objektet til klassen blir instantivert, og definisjonen av konstruktør går dermed slik: "En konstruktør er en spesiell metode som kalles automatisk når klassens objekt blir instansert". I dette emnet skal vi lære om konstruktører i PHP.

syntax

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

I ovennevnte kodestykke begynner konstruktøren med et __ dobbelt understrek etterfulgt av nøkkelordet konstruksjon. En konstruktør uten __construct () eller i tilfelle navnet på klassen endres, er metoden som er definert bare en metode og ikke en konstruktør. Dermed er det viktig å definere konstruktøren i en klasse i henhold til syntaks definert.

Typer konstruktør

Her er noen av typene Constructor med deres utdata gitt nedenfor

1) Forhåndsdefinert konstruktør

For å avklare om forhåndsdefinert konstruktør, la oss se på et eksempel gitt nedenfor

Eksempel på forhåndsdefinert konstruktør

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

Produksjon:

I eksemplet over

Vi har en klasse Person, som har to metoder, der en person CanSpeak () Method og konstruktormetoden __construct (). Deretter har vi oppstartet klassen som et objekt $ p. Ved å bruke $ p har vi kalt den normale metoden. Så snart objektet er opprettet, kalles konstruktormetoden og uttalelsen i metoden utføres, på lignende måte videre CanSpeak () -metoden, som er en normal metode, og ikke en konstruktormetode, kalles det samme objektet $ p og utsagnet inne den metoden blir utført. Siden konstruktøren definert ovenfor ikke har noen argumenter, vil vi også kalle det en null-argument konstruktør eller forhåndsdefinert konstruktør.

2) Parameterisert konstruktør

En konstruktør kan være med eller uten argumenter. Konstruktøren med argumenter kalles den parameteriserte konstruktøren og konstruktøren uten argumenter kalles null-argument konstruktøren. La oss se på et eksempel.

Eksempel på Parameterisert konstruktør

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

Produksjon:

Hvordan fungerer konstruktør?

La oss ta en titt på baseklasse-konstruktøren og den avledede klassen som utvider baseklassen ved å bruke utvidelsesnøkkelordet som har sin egen konstruktør å utføre og den overordnede konstruktøren også kan utføre. Til nå lærte vi bare om konstruktøren som ble erklært i en klasse. La oss legge til litt mer kunnskap til konstruktøren her. Med følgende eksempel har baseklassen Person en konstruktør, nå kalles denne konstruktøren av den avledede klassen eller Underklassen ved å bruke overordnet nøkkelord og kan dermed få tilgang til Baseklasse Personens konstruktør.

Utgangsstrømmen -

Først kalles Person-konstruktøren, deretter kalles Kundekonstruktøren som internt kaller Personkonstruktøren igjen og deretter sin egen kundekonstruktør og sist Medarbeider-klassen som utvider Person-klassen og dermed blir Person-konstruktøren kalt igjen.

Kode

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

Produksjon:

I eksemplet nedenfor har vi vist hvordan den angitte metoden og get-metoden fungerer. Bruke innkapslingskonseptet i OOP. Opprinnelig deklareres programmet med en konstruktør, en set_name-metode og en get_name-metode. Legg merke til at konstruktøren er en parameterisert konstruktør som absolutt blir kalt når klassen blir instantivert, og derfor er den første utskriften John Doe og deretter opprettet et objekt fra klassen og kalt metoden set_name og get_name som skriver ut output som Alice.

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

Produksjon:

Tilgangspesifikasjonen-

Det er tre tilgangsspesifikasjoner i PHP

  • Offentlig
  • beskyttet
  • Privat

Offentlig: Medlemmer av klassen som er erklært som offentlig er tilgjengelige overalt.

Beskyttet: Medlemmer av klassen som er erklært som beskyttet, er bare tilgjengelige innenfor baseklassen og den avledede klassen som utvider baseklassen.

Privat: Medlemmer av klassen som er erklært som private er tilgjengelige med klassen som definerer den.

Variablene som deklareres blir også kalt datamedlemmer eller egenskaper, og funksjonene som deklareres blir kalt som datametoder. I eksemplet nedenfor har vi Base Class erklært som Person som har følgende egenskaper sammen med tilgangsspesifikasjonene offentlige navn, beskyttet e-post og privat mobil. Nå er klassen oppstartet med et objekt $ p og disse tre egenskapene som nås fra objektet. hvilke utganger er en feil, hvorfor fordi den beskyttede egenskapen sier at beskyttet bare er tilgjengelig innenfor baseklassen og den avledede klassen som utvider baseklassen?

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

Produksjon:

Konklusjon

Håper denne artikkelen finner deg det du har søkt etter. Artikkelen har forskjellige eksempler du kan lære. Jo mer du setter eksemplene i praksis, jo lettere blir det å forstå.

Anbefalte artikler

Dette er en guide til Constructor i PHP. Her har vi diskutert typer konstruktør og hvordan fungerer konstruktøren i PHP. Du kan også se på følgende artikkel for å lære mer -

  1. Hva er PHP?
  2. PHP-strengfunksjoner
  3. Python-samlinger
  4. Oppsett i Java