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 әдісін жасаңыз,
жолдың тек сандарды ғана қамтитынын тексеретін.