Klasa si grup metodash në OOP në PHP
Ndonjëherë klasat përdoren për grupimin e metodave me tematikë të ngjashme. Në këtë rast zakonisht krijohet vetëm një objekt i kësaj klase dhe metodat e saj përdoren shumë herë në situata të ndryshme.
Le të shohim një shembull. Le të bëjmë një klasë që do të manipulonte vargje numrash:
<?php
class ArrHelper {
}
?>
Çdo metodë e kësaj klase si parametër do të marrë një varg dhe do të kryejë mbi të një operacion të caktuar. Le të themi, për shembull, që ne kemi metodat e mëposhtme:
<?php
class ArrHelper {
public function getSum($arr) {
// shuma e elementeve
}
public function getAvg($arr) {
// mesatarja aritmetike
}
}
?>
Le të shkruajmë implementimin e këtyre metodave:
<?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;
}
}
}
?>
Le të shohim se si do të përdorim këto metoda. Le të krijojmë një objekt të klasës sonë:
<?php
$arrHelper = new ArrHelper();
?>
Le të gjejmë me ndihmën e objektit tonë shumën e numrave të vargjeve të ndryshëm:
<?php
$sum1 = $arrHelper->getSum([1, 2, 3]);
var_dump($sum1);
$sum2 = $arrHelper->getSum([3, 4, 5]);
var_dump($sum2);
?>
Bëni një klasë Validator,
që do të kryejë kontrollin
të vargjeve për korrektësinë.
Bëni në klasën tuaj metodën
isEmail, që kontrollon nëse vargu është
email i saktë.
Bëni në klasën tuaj metodën
isDomain, që kontrollon nëse vargu është
emër domain i saktë.
Bëni në klasën tuaj metodën
isNumber, që kontrollon nëse vargu
përmban vetëm numra.