Klasa si grup metodash në OOP në PHP

Ndonjëherë klasat përdoren për grupimin e metodave me tematikë të ngjashme. Në këtë rast zakonisht krijohet vetëm një objekt i kësaj klase dhe metodat e saj përdoren shumë herë në situata të ndryshme.

Le të shohim një shembull. Le të bëjmë një klasë që do të manipulonte vargje numrash:

php<?php
  class ArrHelper {
    
  }
?>

Çdo metodë e kësaj klase si parametër do të marrë një varg dhe do të kryejë mbi të një operacion të caktuar. Le të themi, për shembull, që ne kemi metodat e mëposhtme:

php<?php
  class ArrHelper {
    public function getSum($arr) {
      // shuma e elementeve
    }
    
    public function getAvg($arr) {
      // mesatarja aritmetike
    }
  }
?>

Le të shkruajmë implementimin e këtyre metodave:

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

Le të shohim se si do të përdorim këto metoda. Le të krijojmë një objekt të klasës sonë:

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

Le të gjejmë me ndihmën e objektit tonë shumën e numrave të vargjeve të ndryshëm:

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

Bëni një klasë Validator, që do të kryejë kontrollin të vargjeve për korrektësinë.

Задание 2

Bëni në klasën tuaj metodën isEmail, që kontrollon nëse vargu është email i saktë.

Задание 3

Bëni në klasën tuaj metodën isDomain, që kontrollon nëse vargu është emër domain i saktë.

Задание 4

Bëni në klasën tuaj metodën isNumber, që kontrollon nëse vargu përmban vetëm numra.