Уводзіны ў ААП у PHP
Зараз мы займемся вывучэннем ААП у 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();
?>