PHP да ООП да класслар методлар тўплами сифатида
Бaъзан класслар ўхшаш мавзудаги методларни гуруҳлаш учун ишлатилади. Бундай ҳолда оддатда фақат биттагина объект яратилади ва унинг методлари турли ҳолатларда қайта-қайта ишлатилади.
Келгила, мисолда кўрайлик. Сонли массивлар билан ишловчи класс ясаймиз:
<?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 метедини ясанг,
у сатрда фақат сонлар борлигини текширади.