PHP da OOP da Metodlar To'plami Sifatida Klass
Ba'zan klasslar bir xil mavzuga oid metodlarni guruhlash uchun ishlatiladi. Bunday hollarda odatda shu klassning faqat bitta ob'ekti yaratiladi va uning metodlari turli vaziyatlarda qayta-qayta qo'llaniladi.
Keling, bir misolni ko'rib chiqaylik. Raqamli massivlar bilan ishlaydigan klass yarataylik:
<?php
class ArrHelper {
}
?>
Ushbu klassning har bir metodi parametr sifatida massivni qabul qiladi va unga belgilangan amalni bajaradi. Masalan, quyidagi metodlar mavjud bo'lsin:
<?php
class ArrHelper {
public function getSum($arr) {
// elementlar yig'indisi
}
public function getAvg($arr) {
// o'rta arifmetik
}
}
?>
Keling, ushbu metodlarning realizatsiyasini yozamiz:
<?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;
}
}
}
?>
Keling, ushbu metodlardan qanday foydalanishimizni ko'rib chiqaylik. Klassimizning ob'ektini yaratamiz:
<?php
$arrHelper = new ArrHelper();
?>
Yaratgan ob'ektimiz yordamida turli massivlardagi sonlar yig'indisini topamiz:
<?php
$sum1 = $arrHelper->getSum([1, 2, 3]);
var_dump($sum1);
$sum2 = $arrHelper->getSum([3, 4, 5]);
var_dump($sum2);
?>
Validator klassini yarating,
u satrlarning to'g'riligini tekshiradi.
Klassingizda isEmail metodini yarating,
u satrning to'g'ri email ekanligini tekshiradi.
Klassingizda isDomain metodini yarating,
u satrning to'g'ri domen nomi ekanligini tekshiradi.
Klassingizda isNumber metodini yarating,
u satrda faqat raqamlar borligini tekshiradi.