Klass kui meetodite kogum OOP-s PHP-s
Mõnikord kasutatakse klasse sarnase teemaga meetodite grupeerimiseks. Sellisel juhul luuakse reeglina ainult üks selle klassi objekt ja selle meetodeid kasutatakse korduvalt erinevates olukordades.
Vaatame näidet. Teeme klassi, mis manipuleerib numbrite massiividega:
<?php
class ArrHelper {
}
?>
Iga selle klassi meetod saab parameetrina vastu võtta massiivi ja sooritab sellega etteantud toimingu. Olgu meil näiteks järgmised meetodid:
<?php
class ArrHelper {
public function getSum($arr) {
// elementide summa
}
public function getAvg($arr) {
// aritmeetiline keskmine
}
}
?>
Kirjutame nende meetodite realiseeringu:
<?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;
}
}
}
?>
Vaatame, kuidas me neid meetodeid kasutama hakkame. Loome oma klassi objekti:
<?php
$arrHelper = new ArrHelper();
?>
Leiame meie objekti abil erinevate massiivide numbrite summa:
<?php
$sum1 = $arrHelper->getSum([1, 2, 3]);
var_dump($sum1);
$sum2 = $arrHelper->getSum([3, 4, 5]);
var_dump($sum2);
?>
Tehke klass Validator,
mis kontrollib stringide
korrektsust.
Tehke oma klassi meetod
isEmail, mis kontrollib, kas string on
korrektne email.
Tehke oma klassi meetod
isDomain, mis kontrollib, kas string on
korrektne domeeninimi.
Tehke oma klassi meetod
isNumber, mis kontrollib, kas string
sisaldab ainult numbreid.