PHP-də OOP-də Metodlar Dəsti kimi Klass
Bəzən klaslar oxşar tematikaya malik metodları qruplaşdırmaq üçün istifadə olunur. Bu halda adətən bu klasdan yalnız bir obyekt yaradılır və onun metodları müxtəlif situasiyalarda dəfələrlə istifadə olunur.
Gəlin bir nümunəyə baxaq. Rəqəmlər massivi ilə işləyən bir klass edək:
<?php
class ArrHelper {
}
?>
Bu klasın hər bir metodu parametr kimi bir massiv qəbul edəcək və onun üzərində müəyyən bir əməliyyat yerinə yetirəcək. Məsələn, tutaq ki, bizim aşağıdakı metodlarımız var:
<?php
class ArrHelper {
public function getSum($arr) {
// elementlərin cəmi
}
public function getAvg($arr) {
// orta hesab
}
}
?>
Gəlin bu metodların realizasiyasını yazaq:
<?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;
}
}
}
?>
Gəlin bu metodlardan necə istifadə edəcəyimizə baxaq. Klasımızın bir obyektini yaradaq:
<?php
$arrHelper = new ArrHelper();
?>
Obyektimizin köməyi ilə müxtəlif massivlərin rəqəmlərinin cəmini tapaq:
<?php
$sum1 = $arrHelper->getSum([1, 2, 3]);
var_dump($sum1);
$sum2 = $arrHelper->getSum([3, 4, 5]);
var_dump($sum2);
?>
Sətirlərin düzgünlüyünü yoxlayan Validator klassını edin.
Klassınızda isEmail metodunu edin, sətirin düzgün email olub-olmadığını yoxlayan.
Klassınızda isDomain metodunu edin, sətirin düzgün domen adı olub-olmadığını yoxlayan.
Klassınızda isNumber metodunu edin, sətirin yalnız rəqəmlərdən ibarət olub-olmadığını yoxlayan.