Luokka menetelmien kokoelmana OOP:ssa PHP:ssä
Joskus luokkia käytetään samantemaattisten menetelmien ryhmittelyyn. Tällöin yhteydessä luodaan yleensä vain yksi kyseisen luokan olio, ja sen menetelmiä käytetään useita kertoja erilaisissa tilanteissa.
Katsotaanpa esimerkkiä. Tehdään luokka, joka manipuloi numerotaulukoita:
<?php
class ArrHelper {
}
?>
Jokainen tämän luokan menetelmä saa parametrinaan taulukon ja suorittaa sen yli määritetyn operaation. Olkoonpa esimerkiksi seuraavat menetelmät:
<?php
class ArrHelper {
public function getSum($arr) {
// alkioiden summa
}
public function getAvg($arr) {
// aritmeettinen keskiarvo
}
}
?>
Kirjoitetaan näiden menetelmien toteutus:
<?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;
}
}
}
?>
Katsotaanpa, miten käytämme näitä menetelmiä. Luodaan luokastamme olio:
<?php
$arrHelper = new ArrHelper();
?>
Etsitään olioimme avulla eri taulukoiden numeroiden summa:
<?php
$sum1 = $arrHelper->getSum([1, 2, 3]);
var_dump($sum1);
$sum2 = $arrHelper->getSum([3, 4, 5]);
var_dump($sum2);
?>
Tee luokka Validator,
joka suorittaa
merkkijonon oikeellisuustarkistuksen.
Tee luokkaasi metodi
isEmail, joka tarkistaa onko merkkijono
kelvollinen sähköpostiosoite.
Tee luokkaasi metodi
isDomain, joka tarkistaa onko merkkijono
kelvollinen verkkotunnuksen nimi.
Tee luokkaasi metodi
isNumber, joka tarkistaa sisältääkö merkkijono
vain numeroita.