PHP-de OOP-da Metodlar ýygyndysy hökmünde klas
Käte klaslar meňzeş temada metodlary gruplamak üçin ulanylýar. Bu ýagdaýda, adatça diňe bir şu klasyň obýekti döredilýär we onuň metodlary çaklamaly ýagdaýlarda köp gezek ulanylýar.
Mysal üçin serediň. Sanlar massiwlerini dolandyryjy bir klas edeliň:
<?php
class ArrHelper {
}
?>
Bu klasyň her bir metodu, parametr hökmünde massiw kabul eder we onuň üstünde berlen amaly ýerine ýetirer. Geliň, mysal üçin, bizde aşakdaky metodlar bolsun:
<?php
class ArrHelper {
public function getSum($arr) {
// elementleriň jemi
}
public function getAvg($arr) {
// ortaça arifmetiki
}
}
?>
Bu metodlaryň amala aşyrylyşyny ýazalyň:
<?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;
}
}
}
?>
Geliň, bu metodlary nädip ulanjakdygymyza serediň. Klasymyzyň bir obýektini dörediň:
<?php
$arrHelper = new ArrHelper();
?>
Obýektimiziň ýardamy bilen dürli massiwleriň sanlarynyň jemini tapalyň:
<?php
$sum1 = $arrHelper->getSum([1, 2, 3]);
var_dump($sum1);
$sum2 = $arrHelper->getSum([3, 4, 5]);
var_dump($sum2);
?>
Validator klasyny ediň,
şol bir hatlaryň dogrulygyny barlar.
Klasynyzyzda isEmail metoduny ediň, hatyň
dogry emaildigini barlar.
Klasynyzyzda isDomain metoduny ediň, hatyň
dogry domen adydugygyny barlar.
Klasynyzyzda isNumber metoduny ediň, hatyň
diňe sanlardan ybaratdugygyny barlar.