Клас као скуп метода у ООП у 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, који проверава стринг да ли садржи само бројеве.