PHPにおけるOOPにおけるメソッドの集合としてのクラス

時には、関連するテーマのメソッドをグループ化するためにクラスが使用されます。この場合、通常、そのクラスのオブジェクトは1つだけ作成され、そのメソッドがさまざまな状況で何度も使用されます。

例を見てみましょう。数値の配列を操作するクラスを作成します:

php<?php
  class ArrHelper {
    
  }
?>

このクラスの各メソッドは、パラメータとして配列を受け取り、その配列に対して指定された操作を実行します。例えば、次のようなメソッドがあるとします:

php<?php
  class ArrHelper {
    public function getSum($arr) {
      // 要素の合計
    }
    
    public function getAvg($arr) {
      // 算術平均
    }
  }
?>

これらのメソッドの実装を書いてみましょう:

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

これらのメソッドをどのように使用するか見てみましょう。クラスのオブジェクトを作成します:

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

作成したオブジェクトを使用して、さまざまな配列の数値の合計を求めてみましょう:

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

文字列の正しさをチェックするクラス Validator を作成してください。

Задание 2

あなたのクラスに、文字列が正しいemailであるかどうかをチェックするメソッド isEmail を作成してください。

Задание 3

あなたのクラスに、文字列が正しいドメイン名であるかどうかをチェックするメソッド isDomain を作成してください。

Задание 4

あなたのクラスに、文字列が数字のみを含んでいるかどうかをチェックするメソッド isNumber を作成してください。