Introducere în constructor în PHP

Constructorul este conceptul PHP5 OOP (obiect orientat de programare). Constructorul este asociat cu clasele pe care le declaram în program. Constructorul este numit automat atunci când obiectul clasei este instanțiat, astfel definiția constructorului este astfel: „Un constructor este o metodă specială care se numește automat atunci când obiectul clasei este instanțiat”. În acest subiect, vom afla despre constructori în PHP.

Sintaxă

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

În codul de mai sus, constructorul începe cu o subliniere dublă urmată de constructul de cuvinte cheie. Un constructor fără __construct () sau în cazul în care numele clasei este schimbat, atunci metoda definită este doar o metodă și nu un constructor. Astfel, este important să definim constructorul într-o clasă conform sintagmei definite.

Tipuri de constructor

Iată câteva dintre tipurile de Constructor cu ieșirea lor prezentată mai jos

1) Constructor predefinit

Pentru a clarifica constructorul predefinit, să ne uităm la un exemplu dat mai jos

Exemplu de constructor predefinit

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

ieşire:

În exemplul de mai sus

Avem o clasă Persoană, care are două metode, în care o persoană Metoda CanSpeak () și metoda constructorului __construct (). În continuare, am inițiat clasa ca obiect $ p. Folosind $ p am numit metoda normală. De îndată ce obiectul este creat, metoda constructorului este apelată și instrucțiunea din interiorul metodei este executată, în mod similar, mai departe, metoda CanSpeak () care este o metodă normală și nu o metodă de constructor este apelată folosind același obiect $ p și instrucțiunea din interior acea metodă este executată. De asemenea, întrucât constructorul definit mai sus nu are argumente, îl vom numi constructor cu argument zero sau constructor predefinit.

2) Constructor parametrizat

Un constructor poate fi cu sau fără argumente. Constructorul cu argumente se numește constructor parametrizat, iar constructorul fără argumente se numește constructor cu argument zero. Să ne uităm la un exemplu.

Exemplu de constructor parametrizat

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

ieşire:

Cum funcționează Constructorul?

Să aruncăm o privire la constructorul clasei de bază și la clasa derivată care extinde clasa de bază folosind cuvântul cheie expand care are propriul său constructor care să execute și constructorul părinte să-l execute de asemenea. Până acum am aflat doar despre constructorul declarat într-o clasă. Să adăugăm aici mai multe cunoștințe pentru constructor. Cu următorul exemplu, clasa de bază Persoana are un constructor, acum acest constructor este numit de clasa derivată sau de clasa Sub folosind cuvântul cheie părinte și, astfel, poate accesa constructorul clasei de bază.

Fluxul de ieșire -

În primul rând, se numește constructorul Persoană, apoi se numește constructorul Client care apelează din nou la constructorul Persoană și apoi la constructorul propriu client și la ultima clasă Angajat, care extinde clasa Persoane, astfel că se numește din nou constructorul Persoană.

Cod

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

ieşire:

În exemplul de mai jos am arătat cum funcționează metoda setată și metoda get. Utilizarea conceptului de încapsulare în OOP. Inițial, programul este declarat cu un constructor, o metodă set_name și o metodă get_name. Rețineți că constructorul este un constructor parametrizat, care este numit definitiv atunci când clasa este instanțiată și, prin urmare, prima ieșire este John Doe a creat ulterior un obiect al clasei și a numit metode set_name și get_name care tipăresc ieșirea ca 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();
?>

ieşire:

Specificatorul de acces-

Există trei specificatori de acces în PHP

  • Public
  • Protejat
  • Privat

Public: Membrii clasei declarate ca fiind public sunt accesibile peste tot.

Protejat: Membrii clasei declarate protejate sunt accesibile doar în cadrul clasei de bază și al clasei derivate care extinde clasa de bază.

Privat: Membrii clasei declarate private sunt accesibile cu clasa care o definește.

De asemenea, variabilele declarate se numesc membri de date sau proprietăți, iar funcțiile declarate sunt numite metode de date. În exemplul de mai jos avem clasa de bază declarată persoană care are următoarele proprietăți, împreună cu specificul de acces nume public, e-mail protejat și mobil privat. Acum clasa este instanțiată cu un obiect $ p și aceste trei proprietăți la care este accesat din obiect. ce ieșiri sunt o eroare, de ce, pentru că, proprietatea protejată spune că protejate sunt accesibile doar în cadrul clasei de bază și al clasei derivate care extinde clasa de bază?

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

ieşire:

Concluzie

Sper că acest articol vă găsește ceea ce ați căutat. Articolul are diferite exemple pentru ca tu să înveți. Cu cât puneți mai multe exemple în practică, cu atât va fi mai ușor să înțelegeți.

Articole recomandate

Acesta este un ghid pentru Constructor în PHP. Aici am discutat despre Tipurile de constructor și Cum funcționează Constructorul în PHP. De asemenea, puteți consulta articolul următor pentru a afla mai multe -

  1. Ce este PHP?
  2. Funcții cu șiruri PHP
  3. Colecții Python
  4. Aspect în Java