Razred kot niz metod v OOP v PHP
Včasih se razredi uporabljajo za združevanje metod podobne tematike. V tem primeru se praviloma ustvari samo en objekt tega razreda in njegove metode se večkrat uporabijo v različnih situacijah.
Poglejmo si na primeru. Naredimo razred, ki bo manipuliral z nizi števil:
<?php
class ArrHelper {
}
?>
Vsaka metoda tega razreda bo parameter sprejela niz in izvedla njim določeno operacijo. Naj imamo, na primer, naslednje metode:
<?php
class ArrHelper {
public function getSum($arr) {
// vsota elementov
}
public function getAvg($arr) {
// aritmetična sredina
}
}
?>
Napišimo implementacijo teh metod:
<?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;
}
}
}
?>
Poglejmo, kako bomo uporabljali te metode. Ustvarimo objekt našega razreda:
<?php
$arrHelper = new ArrHelper();
?>
Poiščimo z našim objektom vsoto števil različnih nizov:
<?php
$sum1 = $arrHelper->getSum([1, 2, 3]);
var_dump($sum1);
$sum2 = $arrHelper->getSum([3, 4, 5]);
var_dump($sum2);
?>
Naredite razred Validator,
ki bo izvajal preverjanje
nizov na korektnost.
Naredite v vašem razredu metodo
isEmail, ki preverja niz na to,
da je korekten email.
Naredite v vašem razredu metodo
isDomain, ki preverja niz na to,
da je korektno ime domene.
Naredite v vašem razredu metodo
isNumber, ki preverja niz na to,
da vsebuje samo številke.