PHP'de OOP'de Metot Koleksiyonu Olarak Sınıf

Bazen sınıflar, benzer temalara sahip metotları gruplamak için kullanılır. Bu durumda genellikle bu sınıftan sadece bir nesne oluşturulur ve metotları çeşitli durumlarda defalarca kullanılır.

Bir örnek üzerinden görelim. Sayı dizileri üzerinde işlem yapan bir sınıf yapalım:

php<?php
  class ArrHelper {
    
  }
?>

Bu sınıfın her metodu, bir parametre olarak bir dizi alacak ve üzerinde belirli bir işlem gerçekleştirecektir. Örneğin, aşağıdaki metotlarımız olsun:

php<?php
  class ArrHelper {
    public function getSum($arr) {
      // elemanların toplamı
    }
    
    public function getAvg($arr) {
      // aritmetik ortalama
    }
  }
?>

Bu metotların gerçekleştirimini yazalım:

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

Bu metotları nasıl kullanacağımıza bakalım. Sınıfımızın bir nesnesini oluşturalım:

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

Nesnemiz yardımıyla çeşitli dizilerin sayı toplamını bulalım:

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

Bir Validator sınıfı yapın, dizelerin doğruluğunu kontrol edecek.

Задание 2

Sınıfınızda bir isEmail metodu yapın, bir dizenin doğru bir email olup olmadığını kontrol eden.

Задание 3

Sınıfınızda bir isDomain metodu yapın, bir dizenin doğru bir alan adı olup olmadığını kontrol eden.

Задание 4

Sınıfınızda bir isNumber metodu yapın, bir dizenin sadece sayılar içerip içermediğini kontrol eden.