PHP-də OOP-də Metodlar Dəsti kimi Klass

Bəzən klaslar oxşar tematikaya malik metodları qruplaşdırmaq üçün istifadə olunur. Bu halda adətən bu klasdan yalnız bir obyekt yaradılır və onun metodları müxtəlif situasiyalarda dəfələrlə istifadə olunur.

Gəlin bir nümunəyə baxaq. Rəqəmlər massivi ilə işləyən bir klass edək:

php<?php
  class ArrHelper {
    
  }
?>

Bu klasın hər bir metodu parametr kimi bir massiv qəbul edəcək və onun üzərində müəyyən bir əməliyyat yerinə yetirəcək. Məsələn, tutaq ki, bizim aşağıdakı metodlarımız var:

php<?php
  class ArrHelper {
    public function getSum($arr) {
      // elementlərin cəmi
    }
    
    public function getAvg($arr) {
      // orta hesab
    }
  }
?>

Gəlin bu metodların realizasiyasını yazaq:

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

Gəlin bu metodlardan necə istifadə edəcəyimizə baxaq. Klasımızın bir obyektini yaradaq:

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

Obyektimizin köməyi ilə müxtəlif massivlərin rəqəmlərinin cəmini tapaq:

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

Sətirlərin düzgünlüyünü yoxlayan Validator klassını edin.

Задание 2

Klassınızda isEmail metodunu edin, sətirin düzgün email olub-olmadığını yoxlayan.

Задание 3

Klassınızda isDomain metodunu edin, sətirin düzgün domen adı olub-olmadığını yoxlayan.

Задание 4

Klassınızda isNumber metodunu edin, sətirin yalnız rəqəmlərdən ibarət olub-olmadığını yoxlayan.