Klas as stel metodes in OOP in PHP

Soms word klasse gebruik om metodes van soortgelyke onderwerpe te groepeer. In hierdie geval word gewoonlik slegs een voorwerp van hierdie klas geskep en sy metodes word baie keer in verskeie situasies gebruik.

Kom ons kyk na 'n voorbeeld. Laat ons 'n klas maak wat getal-skikkings sal manipuleer:

php<?php
  class ArrHelper {
    
  }
?>

Elke metode van hierdie klas sal 'n skikking as parameter neem en die gegewe operasie daarop uitvoer. Laat ons byvoorbeeld die volgende metodes hê:

php<?php
  class ArrHelper {
    public function getSum($arr) {
      // som van elemente
    }
    
    public function getAvg($arr) {
      // gemiddelde
    }
  }
?>

Kom ons skryf die implementering van hierdie metodes:

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

Kom ons kyk hoe ons hierdie metodes sal gebruik. Laat ons 'n voorwerp van ons klas skep:

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

Kom ons vind die som van getalle van verskeie skikkings met behulp van ons voorwerp:

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

Maak 'n klas Validator, wat sal toets of strings korrek is.

Задание 2

Maak 'n metode isEmail in jou klas, wat 'n string toets of dit 'n korrekte e-posadres is.

Задание 3

Maak 'n metode isDomain in jou klas, wat 'n string toets of dit 'n korrekte domeinnaam is.

Задание 4

Maak 'n metode isNumber in jou klas, wat 'n string toets of dit slegs getalle bevat.