Ներածություն PHP-ում OOP-ին
Այժմ մենք կզբաղվենք OOP-ի ուսումնասիրությամբ PHP-ում: Եկեք դիտարկենք կյանքից վերցված օրինակ, ապա տեղափոխենք այն PHP:
Որպես օրինակ վերցնենք ավտոմեքենա: Նրան ունի անիվներ, գույն, թափքի տեսակ, շարժիչի ծավալ և այլն: Բացի այդ, վարորդը կարող է հրամաններ տալ նրան՝ ընթանալ, կանգնել, թեքվել աջ, ձախ և այլն:
Կարելի է ասել, որ գոյություն ունի որոշակի դաս ավտոմեքենաների, որն ունի ընդհանուր հատկություններ (բոլորն ունեն անիվներ և բոլորին կարելի է հրամաններ տալ):
Կոնկրետ ավտոմեքենան, որ կանգնած է փողոցում - այս դասի ներկայացուցիչն է, կամ, այլ բառերով, օբյեկտ այս դասի: Բոլոր օբյեկտները այս դասից ունեն հատկություններ: անիվների քանակ, գույն, թափքի տեսակ և մեթոդներ. ընթանալ, կանգնել, թեքվել աջ, ձախ:
Այլ բառերով, ինքը՝ դասը, նախագիծ է, ըստ որի գործարանում պատրաստվում են ավտոմեքենաներ: Օբյեկտը դա հենց մեքենան է, պատրաստված այս նախագծերով:
PHP-ում դասը ստեղծվում է օգտագործելով բանալի
բառը class, որին հաջորդում է այս դասի անվանումը:
Եկեք ստեղծենք Car դասը.
<?php
class Car
{
// այստեղ կոդ, այսինքն PHP-ով ավտոմեքենայի նախագիծ
}
?>
Նշենք այժմ մեր նախագծում, որ ցանկացած ավտոմեքենա, ստեղծված այս նախագծով, կունենա գույնի և վառելիքի քանակի հատկություն:
Դրա համար դասի ներսում գրենք $color
հատկությունը և $fuel հատկությունը.
<?php
class Car
{
// Սահմանենք հատկություններ (ըստ էության դասի փոփոխականներ).
public $color; // ավտոմեքենայի գույնը
public $fuel; // վառելիքի քանակը
}
?>
Եկեք այժմ ստեղծենք մեր դասի մեթոդները:
PHP-ում մեթոդները, նման սովորական ֆունկցիաների, հայտարարվում են
օգտագործելով function բանալի բառը,
որից առաջ գրվում է public
բանալի բառը:
Ինչպես արդեն նշվեց վերևում, մեր ավտոմեքենան կարող է ընթանալ, կարող է թեքվել, կարող է կանգնել: Եկեք ստեղծենք համապատասխան մեթոդներ մեր դասում.
<?php
class Car
{
public $color; // ավտոմեքենայի գույնը
public $fuel; // վառելիքի քանակը
// Ընթանալու հրաման.
public function go()
{
// ինչ-որ PHP կոդ
}
// Թեքվելու հրաման.
public function turn()
{
// ինչ-որ PHP կոդ
}
// Կանգնելու հրաման.
public function stop()
{
// ինչ-որ PHP կոդ
}
}
?>
Մենք ստեղծեցինք մեր ավտոմեքենայի նախագիծը: Այժմ անհրաժեշտ է գնալ գործարան և ստեղծել այս դասի օբյեկտը (այսինքն կոնկրետ ավտոմեքենա):
PHP-ում դա արվում է օգտագործելով
new բանալի բառը, որից հետո գրվում է դասի անունը.
<?php
new Car;
?>
Սակայն, եթե պարզապես ստեղծենք դասի օբյեկտը - դա ոչ մի տեղ չի հանգեցնի (դա նույնն է, որ, օրինակ, հայտարարել զանգված և այն ոչ մի տեղ չգրել): Մեզ անհրաժեշտ է փոփոխական այս օբյեկտը պահելու համար:
Թող այս փոփոխականը կոչվի $myCar
- գրենք դրա մեջ մեր ստեղծած օբյեկտը.
<?php
$myCar = new Car;
?>
Ավտոմեքենայի ստեղծումից հետո կարելի է դիմել
նրա հատկություններին: Դիմումը նրանց կատարվում է
սլաքի միջոցով ->: Եկեք սահմանենք
մեր օբյեկտի հատկությունները.
<?php
$myCar = new Car; // հրաման տալ գործարանին պատրաստել ավտոմեքենա
// Սահմանում ենք օբյեկտի հատկությունները.
$myCar->color = 'red'; // ներկել կարմիր գույնով
$myCar->fuel = 50; // լցնել վառելիք
?>
Վերջ, մեր ավտոմեքենան ստեղծված է, ներկված և վառելիքով լցված: Այժմ մենք կարող ենք հրամաններ տալ նրան այս ավտոմեքենայի մեթոդների միջոցով:
Դիմումը մեթոդներին նույնպես կատարվում է սլաքի միջոցով, բայց, ի տարբերություն հատկության, մեթոդի անունից հետո գրվում են կլոր փակագծեր: Եկեք հրամաններ տանք մեր օբյեկտին.
<?php
$myCar->go();
$myCar->turn();
$myCar->stop();
?>