След първия урок за OOP, който написах снощи, реших да пусна и втори, а имено нещо като второ въведение в OOP, тъй като предишният беше главно терминология. В този урок ще създадем първия ни клас и впоследствие обект.

Ето примерен клас:

class MathOperations {

public $var=6;

public function subirane($a,$b)
{
return $a+$b;
}

public function izvajdane($a,$b)
{
return $a-$b;
}

}

Това е най-обикновен клас с два метода – subirane и izvajdane. В случая метода subirane събира две числа и връща резултата, а метода izvajdane извжда $a-$b и връща резултата. Ние капсулирахме двата метода като public – т.е. те могат да бъдат викани в класа и извън класа. Можете и да не пишете public, ако смятате те да са публични, но е хубаво да се пише – просто в случай, че някой друг програмист седне да проверява да му е по-лесно четенето.
Сега ще създадем и обект. Както споменах в предния урок това става с ключовата дума new. В част от случаите (и в нашия) някаква променлива трябва да си присвои този обект. Ето и как става.

$myObject = new MathOperations();

Сега вече в $myObject се съдържа всичката информация за обекта MathOperations. Защо има () след MathOperations? Ами просто обектите също могат да приемат някакви стойности. По подразбиране не приема, но с магическия метод __construct, който се вика попринцип от php, но вие можете да си го напишете и конфигурирате по свои усмотрения, можете да избирате някакви параметри да се приемат от този обект. Нещо като при функциите. Всъщност вие ще го правите това, но когато напреднете още малко. В следващите уроци ще ви обясня за магическия метод __construct – какво прави, за какво е полезен и т.н.
Така… създадохме обект, $myObject го присвои, но нищо не излиза на екрана. Нормално, защото не сме извикали никой от методите (можем и свойства да викаме по същия начин).
Сега ще извикаме метода subirane, при което ще съберем 5 и 6. Как става това? Ето:

echo $myObject->subirane(5,6);

На вашият екран би трябвало да се покаже 11. Сега ще извикаме метода izvajdane

echo $myObject->izvajdane(10,7);

На вашият екран би трябвало да се покаже 3.

Сега ше извикаме и свойство.

echo $myObject->var;

Ше се покаже 6.
Как ги изкарахме. Пишем си стандартно едно echo за да визуализираме информация, после пишем промеливата, която е присвоила даден обект, после пишем ->, после пишем метода и вече ако има някакви параметри, които трябва да въведем ( в нашия случай $a и $b ) ние ги въвеждаме като стандартна функция. Т.е. izvajdane(10,7) примерно. Защо е -> не мога да обясня – свържете се с пичовете, които са създали php :) В един файл може да има безброй много класове и могат да се създават колкото си искате обекти дори от един клас стига да ви позволява компютъра, на който сте.

Примерно:

$mySecondObject = new MathOperations();

И няма да излезе абсолютно никаква грешка.

Можем и да напишем

$myThirdObject = new MathOperations();

и пак няма да има грешка.
Надявам се, че съм поднесал достатъчно добре информацията :) Критики и съвети в коментарите :)
Очаквайте още уроци за ООП и разни нещица, които са ми станали интересни в PHP :)

Related posts:

  1. Въведение в OOP (Обектно ориентирано програмиране)