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