Klass som en samling metoder i OOP i PHP

Ibland används klasser för att gruppera metoder med liknande tematik. I det här fallet skapas vanligtvis bara ett objekt av denna klass och dess metoder används många gånger i olika situationer.

Låt oss titta på ett exempel. Låt oss skapa en klass som kommer att manipulera nummerarrayer:

php<?php
  class ArrHelper {
    
  }
?>

Varje metod i denna klass kommer att ta emot en array som en parameter och utföra en given operation på den. Låt oss säga att vi till exempel har följande metoder:

php<?php
  class ArrHelper {
    public function getSum($arr) {
      // summan av elementen
    }
    
    public function getAvg($arr) {
      // aritmetiskt medelvärde
    }
  }
?>

Låt oss skriva implementeringen av dessa metoder:

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

Låt oss se hur vi kommer att använda dessa metoder. Låt oss skapa ett objekt av vår klass:

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

Låt oss hitta summan av tal i olika arrayer med hjälp av vårt objekt:

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

Skapa klassen Validator, som kommer att kontrollera strängar för korrekthet.

Задание 2

Skapa metoden isEmail i din klass, som kontrollerar om strängen är en korrekt e-postadress.

Задание 3

Skapa metoden isDomain i din klass, som kontrollerar om strängen är ett korrekt domännamn.

Задание 4

Skapa metoden isNumber i din klass, som kontrollerar om strängen innehåller endast siffror.