Klasė kaip metodų rinkinys OOP PHP
Kartais klasės naudojamos panašių temų metodų grupuoti. Šiuo atveju paprastai sukuriamas tik vienas šios klasės objektas ir jo metodai naudojami daug kartų įvairiose situacijose.
Pažiūrėkime pavyzdžiu. Sukurkime klasę, kuri manipuliuos skaičių masyvais:
<?php
class ArrHelper {
}
?>
Kiekvienas šios klasės metodas parametru gaus masyvą ir atliks su juo nurodytą operaciją. Tarkime, pavyzdžiui, kad mes turėsime šiuos metodus:
<?php
class ArrHelper {
public function getSum($arr) {
// elementų suma
}
public function getAvg($arr) {
// aritmetinis vidurkis
}
}
?>
Parašykime šių metodų implementaciją:
<?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;
}
}
}
?>
Pažiūrėkime, kaip mes naudosimės šiais metodais. Sukurkime mūsų klasės objektą:
<?php
$arrHelper = new ArrHelper();
?>
Raskime su mūsų objekto pagalba skaičių sumą įvairių masyvų:
<?php
$sum1 = $arrHelper->getSum([1, 2, 3]);
var_dump($sum1);
$sum2 = $arrHelper->getSum([3, 4, 5]);
var_dump($sum2);
?>
Sukurkite klasę Validator,
kuri atliks eilučių
patikrą ar teisingos.
Padarykite savo klasėje metodą
isEmail, tikrinantį eilutę ar
ji yra teisingas email.
Padarykite savo klasėje metodą
isDomain, tikrinantį eilutę ar
ji yra teisingas domeno vardas.
Padarykite savo klasėje metodą
isNumber, tikrinantį eilutę ar
joje yra tik skaičiai.