La classe come insieme di metodi in OOP in PHP

A volte le classi vengono utilizzate per raggruppare metodi di argomento simile. In questo caso di solito viene creato solo un oggetto di questa classe e i suoi metodi vengono utilizzati più volte in varie situazioni.

Vediamo un esempio. Creiamo una classe che manipolerà array di numeri:

php<?php
  class ArrHelper {
    
  }
?>

Ogni metodo di questa classe riceverà come parametro un array ed eseguirà su di esso l'operazione specificata. Supponiamo, ad esempio, che abbiamo i seguenti metodi:

php<?php
  class ArrHelper {
    public function getSum($arr) {
      // somma degli elementi
    }
    
    public function getAvg($arr) {
      // media aritmetica
    }
  }
?>

Scriviamo l'implementazione di questi metodi:

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

Vediamo come useremo questi metodi. Creiamo un oggetto della nostra classe:

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

Troviamo con l'aiuto del nostro oggetto la somma dei numeri di vari array:

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

Crea una classe Validator, che eseguirà il controllo delle stringhe per la correttezza.

Задание 2

Aggiungi nella tua classe il metodo isEmail, che controlla se la stringa è un email valido.

Задание 3

Aggiungi nella tua classe il metodo isDomain, che controlla se la stringa è un nome di dominio valido.

Задание 4

Aggiungi nella tua classe il metodo isNumber, che controlla se la stringa contiene solo numeri.