Johdatus rakentajaan PHP: ssä

Rakentaja on PHP5 OOP (Object Oriented Programming) -konsepti. Rakentaja liittyy luokkiin, jotka ilmoitamme ohjelmassa. Konstruktoriksi kutsutaan automaattisesti, kun luokan objekti hetkellistyy, joten rakentajan määritelmä menee näin: "Rakentaja on erityinen menetelmä, jota kutsutaan automaattisesti, kun luokan kohde hetkestimoidaan". Aiheesta aiomme oppia rakentajia PHP: ssä.

Syntaksi

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

Yllä olevassa koodiosassa konstruktori alkaa __-kaksoisviivauksella, jota seuraa avainsananrakenne. Konstruktori ilman __construct () tai jos luokan nimeä muutetaan, määritelty menetelmä on vain menetelmä eikä rakentaja. Siksi on tärkeää määritellä konstruktori luokassa määritellyn syntaksin mukaisesti.

Rakentajatyypit

Tässä on joitain konstruktorityyppejä, joiden lähtö on annettu alla

1) Ennalta määritelty rakentaja

Selvitämme ennalta määritettyä rakentajaa, katsokaamme seuraavaa esimerkkiä

Esimerkki ennalta määritellystä konstruktorista

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

lähtö:

Yllä olevassa esimerkissä

Meillä on luokka Henkilö, jolla on kaksi menetelmää, joissa henkilö CanSpeak () -menetelmä ja rakentajamenetelmä __construct (). Seuraavaksi olemme vakuuttaneet luokan objektiksi $ p. Käyttämällä dollaria p olemme kutsuneet normaalia menetelmää. Heti kun objekti on luotu, rakentajamenetelmää kutsutaan ja menetelmän sisällä oleva toteutus suoritetaan, samoin edelleen CanSpeak () -menetelmää, joka on normaali menetelmä, eikä rakentajamenetelmää, kutsutaan käyttämällä samaa objektia $ p ja lauseen sisällä tämä menetelmä suoritetaan. Lisäksi, koska edellä määritellyllä rakentajalla ei ole mitään argumentteja, kutsumme sitä nollaargumenttirakentajaksi tai ennalta määritettyyn rakentajaan.

2) Parametrisoitu rakentaja

Rakentaja voi olla argumenttien kanssa tai ilman niitä. Konstruktoria, jolla on argumentit, kutsutaan parametrisoiduksi konstruktoriksi ja konstruktoria ilman argumentteja kutsutaan nollaargumenttirakentajaksi. Katsotaanpa esimerkkiä.

Esimerkki parametrisoidusta konstruktorista

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

lähtö:

Kuinka rakentaja toimii?

Katsokaamme perustason rakentajaa ja johdettua luokkaa, joka laajentaa perusluokkaa käyttämällä laajennus-avainsanaa, jolla on oma rakennusaine toteutettavanaan ja emorakentaja myös suorittaa. Tähän mennessä olemme oppineet vain luokassa ilmoitetusta rakentajasta. Lisääkaamme lisää tietoa rakentajalle täällä. Seuraavan esimerkin avulla perusluokan henkilöllä on rakentaja, nyt johdettu luokka tai alaluokka kutsuu tätä rakentajaa vanhemman avainsanan avulla ja voi siten käyttää pohjaluokan henkilön rakentajaa.

Lähtövirta -

Ensin kutsutaan henkilörakentajaksi, sitten asiakasrakentajaksi, joka kutsuu sisäisesti uudelleen henkilörakentajaksi ja sitten omaksi asiakasrakentajaksi ja viimeiseksi henkilöstöluokkaksi, joka jatkaa henkilöstöluokkaa, jolloin henkilörakentaja kutsutaan uudelleen.

Koodi

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

lähtö:

Seuraavassa esimerkissä olemme osoittaneet, kuinka asetettu menetelmä ja get-menetelmä toimivat. Kapselointikonseptin käyttö OOP: ssa. Aluksi ohjelma julistetaan konstruktorilla, set_name -menetelmällä ja get_name -menetelmällä. Huomaa, että rakentaja on parametrisoitu rakentaja, jota kutsutaan ehdottomasti luokan toteutettaessa, ja siksi ensimmäinen lähtö on John Doe. Seuraavaksi luotiin luokan objekti ja nimeltään set_name ja get_name -menetelmät, jotka tulostavat tulosteen Alice-muodossa.

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

lähtö:

Käyttöoikeuksien määrittäjä-

PHP: ssä on kolme pääsymääritystä

  • Julkinen
  • suojattu
  • yksityinen

Julkinen: Julkiseksi julistetun luokan jäsenillä on pääsy kaikkialle.

Suojattu: Suojatuiksi julistetun luokan jäseniin pääsee vain perusluokassa ja johdetussa luokassa, joka laajentaa perusluokkaa.

Yksityinen: Yksityiseksi julistetun luokan jäsenet pääsevät luokan, joka määrittelee sen.

Lisäksi ilmoitettuja muuttujia kutsutaan datajäseniksi tai ominaisuuksiksi ja ilmoitettuja toimintoja kutsutaan datamenetelmiksi. Alla olevassa esimerkissä meillä on luokka, joka on ilmoitettu henkilöksi, jolla on seuraavat ominaisuudet sekä julkisen nimen, suojatun sähköpostin ja yksityisen matkapuhelimen käyttöoikeustiedot. Nyt luokka välitetään objektilla $ p ja näillä kolmella ominaisuudella, joihin pääsee objektista. mitkä lähdöt ovat virhe, miksi, koska suojatussa ominaisuudessa sanotaan, että suojattuihin pääsee vain perusluokassa ja johdettuun luokkaan, joka laajentaa perusluokkaa?

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

lähtö:

johtopäätös

Toivottavasti tämä artikkeli löytää sinulle etsimäsi. Artikkelissa on erilaisia ​​esimerkkejä oppimisesta. Mitä enemmän laitat esimerkkejä käytännössä, sitä helpompaa on tarttua.

Suositellut artikkelit

Tämä on opas rakentajalle PHP: ssä. Täällä olemme keskustelleet rakentajatyypeistä ja kuinka PHP: n rakentaja toimii. Voit myös tarkastella seuraavaa artikkelia saadaksesi lisätietoja -

  1. Mikä on PHP?
  2. PHP-merkkijonotoiminnot
  3. Python-kokoelmat
  4. Asettelu Java-tilassa