PHPде ООПдо класстын ыкмалар жыйындысы катары

Кээде класстар окшош тематикадагы ыкмаларды топтоштуруу үчүн колдонулат. Бул учурда, адатта, бул класстын бир гана объектиси түзүлүп, анын ыкмалары ар кандай жагдайларда бир нече жолу колдонулат.

Мисалга карап көрөлү. Сандар массиви менен иштей турган класс жасайлы:

php<?php
  class ArrHelper {
    
  }
?>

Бул класстын ар бир ыкмасы параметр катары массивти кабыл алып, анда берилген операцияны аткарат. Келгиле, мисалы, бизде төмөнкү ыкмалар болсун:

php<?php
  class ArrHelper {
    public function getSum($arr) {
      // элементтердин суммасы
    }
    
    public function getAvg($arr) {
      // орточо арифметикалык
    }
  }
?>

Бул ыкмалардын ишке ашырылышын жазалы:

php<?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<?php
  $arrHelper = new ArrHelper();
?>

Биздин объекттин жардамы менен ар кандай массивдердин сандарынын суммасын табалы:

php<?php
  $sum1 = $arrHelper->getSum([1, 2, 3]);
  var_dump($sum1);
  
  $sum2 = $arrHelper->getSum([3, 4, 5]);
  var_dump($sum2);
?>
Задание 1

Validator класстын жасагыла, ал саптардын тууралыгын текшерүүнү аткарат.

Задание 2

Сиздин класска isEmail ыкмасын кошкула, саптын туура email экенин текшерүүчү.

Задание 3

Сиздин класска isDomain ыкмасын кошкула, саптын туура домен аты экенин текшерүүчү.

Задание 4

Сиздин класска isNumber ыкмасын кошкула, саптын гана сандарды камтыган экенин текшерүүчү.