Клас като набор от методи в ООП в PHP
Понякога класовете се използват за групиране на методи със сходна тематика. В този случай обикновено се създава само един обект от този клас и неговите методи се използват многократно в различни ситуации.
Нека разгледаме пример. Нека направим клас, който ще манипулира масиви от числа:
<?php
class ArrHelper {
}
?>
Всеки метод от този клас ще приема като параметър масив и ще извършва върху него зададена операция. Нека, например, имаме следните методи:
<?php
class ArrHelper {
public function getSum($arr) {
// сума от елементите
}
public function getAvg($arr) {
// средно аритметично
}
}
?>
Нека напишем реализацията на тези методи:
<?php
class ArrHelper {
public function getSum($arr) {
$res = 0;
foreach ($arr as $num) {
$res += $num;
}
return $res;
}
public function getAvg($arr) {
$len = count($arr);
if ($len > 0) {
$sum = $this->getSum($arr);
return $sum / $len;
} else {
return 0;
}
}
}
?>
Нека видим как ще използваме тези методи. Нека създадем обект от нашия клас:
<?php
$arrHelper = new ArrHelper();
?>
Нека намерим с помощта на нашия обект сумата на числата на различни масиви:
<?php
$sum1 = $arrHelper->getSum([1, 2, 3]);
var_dump($sum1);
$sum2 = $arrHelper->getSum([3, 4, 5]);
var_dump($sum2);
?>
Направете клас Validator,
който ще извършва проверка
на низове за коректност.
Направете във вашия клас метод
isEmail, проверяващ низа дали
той е коректен email.
Направете във вашия клас метод
isDomain, проверяващ низа дали
той е коректно име на домейн.
Направете във вашия клас метод
isNumber, проверяващ низа дали
той съдържа само числа.