კლასი, როგორც მეთოდების ნაკრები OOP-ში PHP-ში
ზოგჯერ კლასებს იყენებენ მსგავსი თემატიკის მეთოდების დასაჯგუფებლად. ამ შემთხვევაში, როგორც წესი, იქმნება ამ კლასის მხოლოდ ერთი ობიექტი და მისი მეთოდები გამოიყენება მრავალჯერ სხვადასხვა სიტუაციებში.
მოდით შევხედოთ მაგალითს. შევქმნათ კლასი, რომელიც იმუშავებს რიცხვების მასივებზე:
<?php
class ArrHelper {
}
?>
ამ კლასის თითოეული მეთოდი პარამეტრად მიიღებს მასივს და შეასრულებს მასზე მინიჭებულ ოპერაციას. მოდით, მაგალითად, გვქონდეს შემდეგი მეთოდები:
<?php
class ArrHelper {
public function getSum($arr) {
// ელემენტების ჯამი
}
public function getAvg($arr) {
// საშუალო არითმეტიკული
}
}
?>
დავწეროთ ამ მეთოდების რეალიზაცია:
<?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;
}
}
}
?>
მოდით ვნახოთ, როგორ გამოვიყენებთ ამ მეთოდებს. შევქმნათ ჩვენი კლასის ობიექტი:
<?php
$arrHelper = new ArrHelper();
?>
ვიპოვოთ ჩვენი ობიექტის საშუალებით სხვადასხვა მასივის რიცხვების ჯამი:
<?php
$sum1 = $arrHelper->getSum([1, 2, 3]);
var_dump($sum1);
$sum2 = $arrHelper->getSum([3, 4, 5]);
var_dump($sum2);
?>
შექმენით კლასი Validator,
რომელიც შეასრულებს სტრიქონების
შემოწმებას კორექტულობაზე.
გაუკეთეთ თქვენს კლასს მეთოდი
isEmail, რომელიც შეამოწმებს სტრიქონს იმაზე,
რომ ის არის კორექტული email.
გაუკეთეთ თქვენს კლასს მეთოდი
isDomain, რომელიც შეამოწმებს სტრიქონს იმაზე,
რომ ის არის კორექტული დომენის სახელი.
გაუკეთეთ თქვენს კლასს მეთოდი
isNumber, რომელიც შეამოწმებს სტრიქონს იმაზე,
რომ ის შეიცავს მხოლოდ რიცხვებს.