OOP ใน PHP 5 ช่วยสร้างแอปพลิเคชัน Encapsulation คือการห่อหุ้มข้อมูลและเมธอดเป็นหน่วยเดียว (Class) เป็นกลไกป้องกัน data members และ methods ในคลาส
ใน PHP encapsulation ทำให้โค้ดปลอดภัยและแข็งแกร่ง ซ่อนการ implement จริงจากผู้ใช้ ไม่อนุญาตให้เข้าถึง/แก้ไข data members โดยตรง ต้องผ่านเมธอดที่กำหนด
ตัวอย่าง
<?php
class ATM {
private $custid;
private $atmpin;
public function PinChange($custid,$atmpin) {
// perform tasks
}
public function CheckBalance($custid,$atmpin){
// perform tasks
}
public function miniStatement($custid) {
// perform tasks
}
}
$obj = new ATM();
$obj->CheckBalance(10005285637, 123);
?>
คำอธิบาย
Data members ($custid, $atmpin) เป็น private เข้าถึงโดยตรงไม่ได้ ต้องเรียกเมธอด public (PinChange, CheckBalance, miniStatement) พร้อมส่ง arguments ที่ต้องการ นี่คือ Data Hiding ผ่าน Encapsulation
หมายเหตุ
ทำ Encapsulation ได้โดยใช้ Access Specifiers (public, private, protected)