Klasse som et sæt metoder i OOP i PHP

Sommetider bruges klasser til at gruppere metoder af lignende tema. I dette tilfælde oprettes der som regel kun et objekt af denne klasse, og dens metoder bruges mange gange i forskellige situationer.

Lad os se på et eksempel. Lad os lave en klasse, som vil manipulere med talarrays:

php<?php
  class ArrHelper {
    
  }
?>

Hver metode i denne klasse vil som parameter modtage et array og udføre en given operation på det. Lad os for eksempel antage, at vi har følgende metoder:

php<?php
  class ArrHelper {
    public function getSum($arr) {
      // sum af elementer
    }
    
    public function getAvg($arr) {
      // gennemsnit
    }
  }
?>

Lad os implementere disse 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;
      }
    }
  }
?>

Lad os se, hvordan vi vil bruge disse metoder. Lad os oprette et objekt af vores klasse:

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

Lad os finde summen af tal i forskellige arrays ved hjælp af vores objekt:

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

Lav en klasse Validator, som vil udføre kontrol af strenge for korrekthed.

Задание 2

Lav en metode i din klasse isEmail, der kontrollerer om strengen er en korrekt email.

Задание 3

Lav en metode i din klasse isDomain, der kontrollerer om strengen er et korrekt domænenavn.

Задание 4

Lav en metode i din klasse isNumber, der kontrollerer om strengen kun indeholder tal.