Introduktion till konstruktör i PHP

Konstruktören är konceptet PHP5 OOP (Object Oriented Programming). Konstruktören är kopplad till de klasser vi förklarar i programmet. Konstruktören kallas automatiskt när klassens objekt instanseras, så definitionen av konstruktör går så här, "En konstruktör är en speciell metod som kallas automatiskt när klassens objekt instanseras". I det här ämnet kommer vi att lära oss om konstruktörer i PHP.

Syntax

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

I ovanstående kodstycke börjar konstruktören med ett __ dubbel understrykning följt av nyckelordet konstruktion. En konstruktör utan __construct () eller om namnet på klassen ändras är den definierade metoden bara en metod och inte en konstruktör. Därför är det viktigt att definiera konstruktören i en klass enligt syntax definierad.

Typer av konstruktör

Här är några av de typer av konstruktörer som har deras utgång nedan

1) Fördefinierad konstruktör

För att klargöra om fördefinierad konstruktör, låt oss titta på ett exempel som ges nedan

Exempel på fördefinierad 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();
?>

Produktion:

I ovanstående exempel

Vi har en klass Person som har två metoder, där en person CanSpeak () -metod och konstruktormetoden __konstruera (). Därefter har vi instanserat klassen som ett objekt $ p. Med $ p har vi kallat den normala metoden. Så snart objektet har skapats kallas konstruktormetoden och uttalandet inuti metoden körs, på liknande sätt ytterligare CanSpeak () -metoden som är en normal metod och inte en konstruktormetod kallas med samma objekt $ p och uttalandet inuti den metoden körs. Eftersom konstruktören definierad ovan inte har några argument kommer vi att kalla det en konstruktör med nollargument eller fördefinierad konstruktör.

2) Parameteriserad konstruktör

En konstruktör kan vara med eller utan argument. Konstruktören med argument kallas den parametrerade konstruktorn och konstruktören utan argument kallas nollargumentkonstruktören. Låt oss titta på ett exempel.

Exempel på parametriserad 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();

Produktion:

Hur fungerar konstruktören?

Låt oss ta en titt på basklasskonstruktören och den härledda klassen som utökar basklassen med hjälp av utökningsnyckelordet som har en egen konstruktör att utföra och den överordnade konstruktören också ska utföra. Hittills lärde vi oss bara om konstruktören som deklarerats i en klass. Låt oss lägga till lite mer kunskap till konstruktören här. Med följande exempel har basklassen Person en konstruktör, nu kallas denna konstruktör av den härledda klassen eller underklassen med hjälp av överordnat nyckelord och kan därmed få åtkomst till basklasspersonens konstruktör.

Utflödet -

Först kallas Personkonstruktören, sedan kallas Kundkonstruktören som internt kallar igen Personkonstruktören och sedan sin egen kundkonstruktör och senast anställdsklassen som utökar Personklassen så att Personkonstruktören kallas igen.

Koda

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

Produktion:

I exemplet nedan har vi visat hur den inställda metoden och get-metoden fungerar. Använda inkapslingskonceptet i OOP. Initialt deklareras programmet med en konstruktör, en metod för setnamn och metod för get_name. Observera att konstruktören är en parametrerad konstruktör som definitivt kallas när klassen är instanserad och därför är den första utgången John Doe skapade sedan ett objekt i klassen och kallas metoden set_name och 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();
?>

Produktion:

Access Specifier-

Det finns tre åtkomstspecifikationer i PHP

  • offentlig
  • Skyddade
  • Privat

Allmänt: Medlemmar i klassen som förklaras som offentliga är tillgängliga överallt.

Skyddad: Medlemmar i klassen som deklarerats som skyddade är endast tillgängliga inom basklassen och den härledda klassen som utvidgar basklassen.

Privat: Medlemmar i klassen som förklaras som privata är tillgängliga med klassen som definierar den.

Dessutom kallas de deklarerade variabler data medlemmar eller egenskaper och deklarerade funktioner kallas som datametoder. I exemplet nedan har vi Base Class deklarerat som Person som har följande egenskaper tillsammans med åtkomstspecifikationerna allmänna namn, skyddad e-post och privat mobil. Nu är klassen instanserad med ett objekt $ p och dessa tre egenskaper som nås från objektet. vilka utgångar är ett fel, varför eftersom den skyddade egenskapen säger att skyddade endast är tillgängliga inom basklassen och den härledda klassen som utökar basklassen?

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

Produktion:

Slutsats

Hoppas att den här artikeln hittar det du letade efter. Artikeln har olika exempel du kan lära dig. Ju mer du sätter exemplen i praktiken desto lättare blir det att förstå.

Rekommenderade artiklar

Detta är en guide till Constructor i PHP. Här har vi diskuterat typerna av konstruktör och hur fungerar konstruktören i PHP. Du kan också titta på följande artikel för att lära dig mer -

  1. Vad är PHP?
  2. PHP-strängfunktioner
  3. Python-samlingar
  4. Layout i Java

Kategori: