Увод у Конструктор у ПХП-у

Конструктор је ПХП5 ООП (објектно оријентисано програмирање). Конструктор је повезан са класама које изјављујемо у програму. Конструктор се аутоматски позива када је предмет класе инстанција, па дефиниција конструктора иде овако: „Конструктор је посебна метода која се аутоматски позива када се предмет класе примени“. У овој теми ћемо сазнати о конструкторима у ПХП-у.

Синтакса

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

У горњем делу кода, конструктор започиње с __ двоструким подвлачењем, након чега следи конструкција кључне речи. Конструктор без __цонструцт () или у случају промене имена класе, тада је дефинисана метода само метода, а не конструктор. Стога је важно дефинисати конструктор у класи према дефинисаној синтакси.

Врсте конструктора

Ево неколико типова Цонструцтор-а са њиховим излазима датим у даљем тексту

1) Унапред дефинисани конструктор

Да бисмо појаснили унапред дефинисани конструктор, погледајмо пример дат у даљем тексту

Пример унапред дефинисаног конструктора

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

Излаз:

У горњем примеру

Имамо класу Особа која има две методе, где особа може да користи методу ЦанСпеак () и конструкторски метод __цонструцт (). Даље, инстанцирали смо класу као објект $ п. Користећи $ п назвали смо нормалну методу. Чим се објект креира, позива се метода конструктора и извршава се изјава унутар методе, слично томе се зове и метода ЦанСпеак () која је нормална метода, а не конструктивна метода користећи исти објект $ п и израз унутар тај метод је извршен. Такође, будући да претходно дефинисани конструктор нема аргументе, назваћемо га конструктором без аргумената или унапред дефинисаним конструктором.

2) Параметеризовани конструктор

Конструктор може бити са или без аргумената. Конструктор са аргументима назива се параметризовани конструктор, а конструктор без аргумената назива конструктор нулте аргументе. Погледајмо пример.

Пример параметрираног конструктора

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

Излаз:

Како Конструктор ради?

Погледајмо конструктора основне класе и изведену класу која проширује основну класу користећи кључну реч ектендс која има сопствени конструктор који се извршава и надређени конструктор. До сад смо сазнали само о конструктору који је деклариран у класи. Додајмо овде још нешто знања конструктору. Следњим примером, Особа из основне класе има конструктор, а сада се овај конструктор назива изведеном класом или Подкласом помоћу надређене кључне речи и на тај начин може приступити конструктору Особе основне базе.

Излазни ток -

Прво се зове конструктор Персон, затим се зове конструктор Цустомер који интерно поново позива Персон конструктор, а затим сопствени конструктор купца и последњи класу Емплоиее која проширује класу Персон, па се поново зове конструктор Персон.

Код

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

Излаз:

У примјеру у наставку приказали смо како функционира постављена метода и метода гет. Коришћење концепта енкапсулације у ООП-у. У почетку се програм декларише с конструктором, методом сет_наме и гет_наме методом. Имајте на уму да је конструктор параметризован конструктор који се дефинитивно позива када је класа инстанцирана, па је први излаз Јохн Дое, а затим створио објект класе и назвао методе сет_наме и гет_наме који исписују излаз као Алице.

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

Излаз:

Аццесс Специфиер-

У ПХП-у постоје три спецификатора приступа

  • Јавно
  • Заштићено
  • Приватни

Јавно: Чланови класе који су декларирани као јавни доступни су свуда.

Заштићено: Чланови класе проглашени заштићенима доступни су само унутар основне класе и изведене класе која проширује основну класу.

Приватно: Чланови класе који су декларирани као приватни доступни су с разредом који је дефинише.

Такође, деклариране променљиве се називају чланови података или својства, а декларисане функције се називају методама података. У доњем примјеру имамо базну класу која је декларирана као особа која има сљедећа својства, заједно са спецификацијама приступа јавним именом, заштићеном е-поштом и приватним мобилним телефоном. Сада је класа инстанцирана с објектом $ п и ове три особине којима се приступа објекту. који су излази грешка, зашто зато што заштићени ентитет каже да су заштићени доступни само унутар основне класе и изведене класе која проширује основну класу?

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

Излаз:

Закључак

Надам се да ће вам овај чланак пронаћи оно што сте тражили. У чланку се могу наћи различити примери. Што више примера примените у пракси, то ћете лакше схватити.

Препоручени чланци

Ово је водич за Цонструцтор на ПХП-у. Овде смо разговарали о типовима конструктора и како ради конструктор у ПХП-у. Такође можете погледати следећи чланак да бисте сазнали више -

  1. Шта је ПХП?
  2. ПХП стринг функције
  3. Колекције Питхон-а
  4. Изглед у Јави

Категорија: