Клас як набор метадаў у ААП у 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, які правярае радок на то,
што яна змяшчае толькі лікі.