Klasa kao skup metoda u OOP u PHP-u

Ponekad se klase koriste za grupisanje metoda slične tematike. U ovom slučaju se obično kreira samo jedan objekat ove klase i njegovi metodi se koriste mnogo puta u različitim situacijama.

Pogledajmo na primeru. Napravimo klasu koja će manipulisati nizovima brojeva:

php<?php
  class ArrHelper {
    
  }
?>

Svaki metod ove klase će kao parametar prihvatiti niz i izvršavati nad njim zadatu operaciju. Neka, na primer, imamo sledeće metode:

php<?php
  class ArrHelper {
    public function getSum($arr) {
      // zbir elemenata
    }
    
    public function getAvg($arr) {
      // aritmetička sredina
    }
  }
?>

Napišimo implementaciju ovih metoda:

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;
      }
    }
  }
?>

Pogledajmo kako ćemo koristiti ove metode. Kreirajmo objekat naše klase:

php<?php
  $arrHelper = new ArrHelper();
?>

Pronađimo pomoću našeg objekta zbir brojeva različitih nizova:

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

Napravite klasu Validator, koja će izvršavati proveru stringova na korektnost.

Задание 2

Napravite u vašoj klasi metod isEmail, koji proverava string da li je korektan email.

Задание 3

Napravite u vašoj klasi metod isDomain, koji proverava string da li je korektno ime domena.

Задание 4

Napravite u vašoj klasi metod isNumber, koji proverava string da li sadrži samo brojeve.