PHP හි OOP හි ක්‍රම මාලාවක් ලෙස පන්තිය

සමහර විට සමාන මාතෘකාවල ක්‍රම සමූහගත කිරීම සඳහා පන්ති භාවිතා කරයි. මෙම අවස්ථාවේ දී, සාමාන්‍යයෙන් මෙම පන්තියේ වස්තුව එකක් පමණක් සාදනු ලබන අතර එහි ක්‍රම විවිධ අවස්ථා වලදී බහු වරක් භාවිතා කරයි.

අපි උදාහරණයක් බලමු. අංක අරාවල හසුරවන පන්තියක් සාදමු:

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 ක්‍රමයක් සාදන්න, ස්ට්‍රිමයේ අංක පමණක් අඩංගු දැයි පරීක්ෂා කරයි.