Clasa ca set de metode în OOP în PHP

Uneori clasele sunt folosite pentru grupare metodelor cu tematică similară. În acest caz de obicei se creează doar un singur obiect al acestei clase și metodele sale sunt utilizate de multe ori în diverse situații.

Să vedem un exemplu. Să facem o clasă care va manipula array-uri de numere:

php<?php
  class ArrHelper {
    
  }
?>

Fiecare metodă a acestei clase va primi ca parametru un array și va executa asupra lui operația specificată. Să presupunem, de exemplu, că avem următoarele metode:

php<?php
  class ArrHelper {
    public function getSum($arr) {
      // suma elementelor
    }
    
    public function getAvg($arr) {
      // media aritmetică
    }
  }
?>

Să scriem implementarea acestor metode:

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

Să vedem cum vom utiliza aceste metode. Să creăm un obiect al clasei noastre:

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

Să găsim cu ajutorul obiectului nostru suma numerelor din diverse array-uri:

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

Creați o clasă Validator, care va efectua verificarea sirurilor de caractere pe corectitudine.

Задание 2

Creați în clasa dvs. o metodă isEmail, care verifică dacă șirul este un email corect.

Задание 3

Creați în clasa dvs. o metodă isDomain, care verifică dacă șirul este un nume de domeniu corect.

Задание 4

Creați în clasa dvs. o metodă isNumber, care verifică dacă șirul conține doar numere.