คลาสในฐานะชุดของเมธอดใน OOP ใน PHP

บางครั้งก็มีการใช้คลาสเพื่อจัดกลุ่มเมธอดที่เกี่ยวข้องกันในหัวข้อเดียวกัน ในกรณีนี้ โดยปกติแล้วจะมีการสร้างอ็อบเจกต์ของคลาสนี้เพียงอันเดียวและเมธอดของมันถูกนำมาใช้หลายครั้งในสถานการณ์ต่างๆ

ลองมาดูตัวอย่างกัน สร้างคลาสที่จะจัดการกับอาร์เรย์ของตัวเลข:

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

สร้างเมธอด isEmail ในคลาสของคุณ เพื่อตรวจสอบสตริงว่าเป็น email ที่ถูกต้องหรือไม่

Задание 3

สร้างเมธอด isDomain ในคลาสของคุณ เพื่อตรวจสอบสตริงว่าเป็นชื่อโดเมนที่ถูกต้องหรือไม่

Задание 4

สร้างเมธอด isNumber ในคลาสของคุณ เพื่อตรวจสอบว่าสตริงนั้นมีแต่ตัวเลขหรือไม่