Klasa jako zestaw metod w OOP w PHP

Czasami klasy są używane do grupowania metod o podobnej tematyce. W tym przypadku zazwyczaj tworzony jest tylko jeden obiekt tej klasy, a jego metody są używane wielokrotnie w różnych sytuacjach.

Spójrzmy na przykład. Stwórzmy klasę, która będzie manipulować tablicami liczb:

php<?php
  class ArrHelper {
    
  }
?>

Każda metoda tej klasy będzie przyjmować tablicę jako parametr i wykonywać na niej określoną operację. Niech, na przykład, będą to następujące metody:

php<?php
  class ArrHelper {
    public function getSum($arr) {
      // suma elementów
    }
    
    public function getAvg($arr) {
      // średnia arytmetyczna
    }
  }
?>

Napiszmy implementację tych metod:

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

Zobaczmy, jak będziemy używać tych metod. Stwórzmy obiekt naszej klasy:

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

Znajdźmy za pomocą naszego obiektu sumę liczb różnych tablic:

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

Stwórz klasę Validator, która będzie wykonywać sprawdzanie ciągów znaków na poprawność.

Задание 2

Stwórz w swojej klasie metodę isEmail, sprawdzającą ciąg znaków pod kątem tego, czy jest poprawnym emailem.

Задание 3

Stwórz w swojej klasie metodę isDomain, sprawdzającą ciąg znaków pod kątem tego, czy jest poprawną nazwą domeny.

Задание 4

Stwórz w swojej klasie metodę isNumber, sprawdzającą ciąg znaków pod kątem tego, czy zawiera tylko liczby.