คลาสในฐานะชุดของเมธอดใน 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 ในคลาสของคุณ เพื่อตรวจสอบว่าสตริงนั้นมีแต่ตัวเลขหรือไม่