Sissejuhatus PHP konstruktorisse

Konstruktor on PHP5 OOP (Object Oriented Programming) kontseptsioon. Ehitaja on seotud klassidega, mille kuulutame programmis. Ehitajat kutsutakse klassi objekti kiirendamisel automaatselt, seega on konstruktori määratlus järgmine: “Ehitaja on eriline meetod, mida kutsutakse automaatselt, kui klassi objekt kiirendatakse”. Selles teemas õpime PHP-s konstruktorite kohta.

Süntaks

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

Ülaltoodud kooditüki korral algab konstruktor __ topelt allakriipsuga, millele järgneb märksõna konstruktiga. Ilma __construct ()ta konstruktor või juhul, kui klassi nime muudetakse, on määratletud meetod lihtsalt meetod, mitte konstruktor. Seetõttu on oluline määratleda konstruktor klassis vastavalt süntaksile.

Ehitaja tüübid

Siin on mõned konstruktoritüübid, kelle väljund on toodud allpool

1) Eelmääratud konstruktor

Eelmääratud konstruktori kohta selgitamiseks vaatame allpool toodud näidet

Eelmääratud konstruktori näide

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

Väljund:

Ülaltoodud näites

Meil on klassi Isik, millel on kaks meetodit, kus inimene saab CanSpeak () meetodi ja konstrukatori meetodi __construct (). Järgmisena oleme klassi vahetanud objektina $ p. Kasutades dollarit p, oleme kutsunud tavameetodi. Niipea kui objekt on loodud, kutsutakse konstruktorimeetod ja teostatakse meetodi sees olev avaldus, samamoodi nimetatakse CanSpeak () meetodit, mis on tavaline meetod, mitte aga konstruktorimeetodit, kasutades sama objekti $ p ja avalduse sees see meetod täidetakse. Samuti, kuna ülalmääratletud konstruktoril pole ühtegi argumenti, nimetame seda nullargumentide konstruktoriks või eelnevalt määratletud konstruktoriks.

2) parameetriline konstruktor

Ehitaja võib olla argumentidega või ilma. Argumentidega konstruktorit nimetatakse parametriseeritud konstruktoriks ja argumentideta konstruktorit nullargumendiks. Vaatame näidet.

Parameetrilise konstrukatori näide

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

Väljund:

Kuidas töötab konstruktor?

Heidame pilgu põhiklassi konstruktorile ja sellest tuletatud klassile, mis laiendab põhiklassi, kasutades laiendavat märksõna, millel on oma ehitatav ehitaja ja vanemkonstruktoril ka täitmine. Siiani saime teada ainult tunnis deklareeritud ehitaja kohta. Lisagem siin konstruktorile veel natuke teadmisi. Järgmise näite korral on põhiklassil Isik konstruktor, nüüd kutsutakse seda konstruktorit tuletatud klassi või alamklassi abil märksõnaga ja seega pääseb põhiklassi isiku konstruktorisse.

Väljundvoog -

Esiteks kutsutakse Isikkonstruktoriks, seejärel kutsutakse Tellijakonstruktoriks, kes kutsub sisemiselt uuesti Isikukonstruktoriks ja seejärel enda kliendikonstruktoriks ning viimasena töötajaklassi, mis laiendab Isikuklassi, seega kutsutakse uuesti Isikkonstruktoriks.

Kood

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

Väljund:

Allpool toodud näites oleme näidanud, kuidas komplekti meetod ja hankeviis toimivad. Kapseldamise kontseptsiooni kasutamine OOP-is. Algselt deklareeritakse programm konstrukatori, meetodi set_name ja get_name meetodiga. Pange tähele, et konstruktoriks on parameetritega konstruktor, mida kindlasti kutsutakse siis, kui klass realiseeritakse, ja seetõttu on esimene väljund John Doe. Järgmine lõi klassi objekti ja nimetas meetodeid set_name ja get_name, mis trükivad väljundi Alice-na.

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

Väljund:

Juurdepääsu spetsifikaator-

PHP-s on kolm juurdepääsu täpsustajat

  • Avalik
  • Kaitstud
  • Privaatne

Avalik: Avalikuks tunnistatud klassi liikmed on juurdepääsetavad kõikjal.

Kaitstud: kaitstuks tunnistatud klassi liikmetele on juurdepääs ainult põhiklassis ja tuletatud klassis, mis laiendab põhiklassi.

Privaatne: Privaatseks tunnistatud klassi liikmetele on juurdepääs klassiga, mis seda määratleb.

Samuti nimetatakse deklareeritud muutujaid andmeliikmeteks või omadusteks ja deklareeritud funktsioone nimetatakse andmemeetoditeks. Allpool toodud näites on põhiklass deklareeritud isikuks, millel on järgmised omadused koos juurdepääsu spetsifikaatoritega: avalik nimi, kaitstud e-post ja privaatne mobiil. Nüüd on klass kiirendatud objektiga $ p ja nende kolme omadusega, millele pääseb ligi objektist. millised väljundid on viga, miks, kuna kaitstud atribuut ütleb, et kaitstud on juurdepääsetavad ainult põhiklassis ja tuletatud klassis, mis laiendab põhiklassi?

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

Väljund:

Järeldus

Loodetavasti leiab see artikkel teile selle, mida olete otsinud. Artiklis on erinevad näited, mida saate õppida. Mida rohkem näiteid praktikasse viite, seda hõlpsamaks on sellest aru saada.

Soovitatavad artiklid

See on juhend PHP konstruktorile. Siin on arutatud konstruktoritüüpe ja kuidas töötab PHP konstruktor. Lisateabe saamiseks võite vaadata ka järgmist artiklit -

  1. Mis on PHP?
  2. PHP stringifunktsioonid
  3. Pythoni kogud
  4. Paigutus Java-s

Kategooria: