Դասը որպես մեթոդների հավաքածու 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 մեթոդը, որը ստուգում է, արդյոք տողը պարունակում է միայն թվեր: