PHP da OOP da Metodlar To'plami Sifatida Klass

Ba'zan klasslar bir xil mavzuga oid metodlarni guruhlash uchun ishlatiladi. Bunday hollarda odatda shu klassning faqat bitta ob'ekti yaratiladi va uning metodlari turli vaziyatlarda qayta-qayta qo'llaniladi.

Keling, bir misolni ko'rib chiqaylik. Raqamli massivlar bilan ishlaydigan klass yarataylik:

php<?php
  class ArrHelper {
    
  }
?>

Ushbu klassning har bir metodi parametr sifatida massivni qabul qiladi va unga belgilangan amalni bajaradi. Masalan, quyidagi metodlar mavjud bo'lsin:

php<?php
  class ArrHelper {
    public function getSum($arr) {
      // elementlar yig'indisi
    }
    
    public function getAvg($arr) {
      // o'rta arifmetik
    }
  }
?>

Keling, ushbu metodlarning realizatsiyasini yozamiz:

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

Keling, ushbu metodlardan qanday foydalanishimizni ko'rib chiqaylik. Klassimizning ob'ektini yaratamiz:

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

Yaratgan ob'ektimiz yordamida turli massivlardagi sonlar yig'indisini topamiz:

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

Validator klassini yarating, u satrlarning to'g'riligini tekshiradi.

Задание 2

Klassingizda isEmail metodini yarating, u satrning to'g'ri email ekanligini tekshiradi.

Задание 3

Klassingizda isDomain metodini yarating, u satrning to'g'ri domen nomi ekanligini tekshiradi.

Задание 4

Klassingizda isNumber metodini yarating, u satrda faqat raqamlar borligini tekshiradi.