Encapsulation ในภาษา PHP

Encapsulation หรือ การห่อหุ้มข้อมูล เป็นคุณสมบัติของการเขียนโปรแกรมเชิงวัตถุ (OOP) ที่ช่วยให้สามารถควบคุมการเข้าถึงข้อมูลภายในคลาส (Class)

ประโยชน์ของ Encapsulation:

  • ช่วยปกปิดข้อมูลภายในคลาส
  • ช่วยให้โค้ดมีความปลอดภัย
  • ช่วยให้โค้ดมี modularity
  • ช่วยให้โค้ดมี maintainability

การใช้ Encapsulation:

  • ใช้ตัวกำหนดการเข้าถึง (Access specifier) เช่น publicprotectedprivate
  • กำหนดระดับการเข้าถึงสำหรับคุณสมบัติ (Property) และวิธีการ (Method)

ตัวอย่าง:

PHP

class Person {
  private $name; // ข้อมูล private

  public function __construct($name) {
    $this->name = $name;
  }

  public function getName() { // Method public
    return $this->name;
  }

  private function setName($name) { // Method private
    $this->name = $name;
  }
}

$person = new Person("John Doe"); // สร้างออบเจ็ค
echo $person->getName(); // แสดงชื่อ: John Doe

// ไม่สามารถเข้าถึง $person->name ได้โดยตรง
// $person->name = "Jane Doe"; // Error

// การเปลี่ยนแปลงชื่อต้องใช้ method public
$person->setName("Jane Doe");
echo $person->getName(); // แสดงชื่อ: Jane Doe

ตัวกำหนดการเข้าถึง:

  • public: เข้าถึงได้จากทุกที่
  • protected: เข้าถึงได้จากคลาสและคลาสลูก
  • private: เข้าถึงได้จากคลาสเท่านั้น

ข้อควรระวัง:

  • Encapsulation ทำให้โค้ดมีความซับซ้อน
  • จำเป็นต้องเข้าใจกลไกการทำงานของ Encapsulation

แหล่งข้อมูล:

  • W3Schools: https://irinagyurjinyan.wordpress.com/2022/04/12/%D1%83%D1%80%D0%BE%D0%BA-19/
  • PHP.net: https://www.php.net/manual/en/language.oop5.php
Related Posts
 jquery vslidation remove spaces from input คืออะไร

jQuery validation remove spaces from input คือ ฟังก์ชันที่ใช้ลบช่องว่างออกจาก input field โดยใช้ jQuery วิธีใช้ JavaScri Read more

dimiss keyboard flutter คืออะไร

ใน Flutter dismiss keyboard หมายถึง การซ่อนแป้นพิมพ์เสมือนบนหน้าจอ วิธีการ dismiss keyboard ใช้ FocusNode: Dart imp Read more

bootstrap5 cdn คืออะไร

Bootstrap5 CDN คือ Content Delivery Network ของ Bootstrap 5 ซึ่งเป็นเฟรมเวิร์ก front-end ยอดนิยมที่ช่วยให้นักพัฒนาเว็บสร Read more

เขียนโค้ดดึงเนื้อหาจาก wordpress

โค้ดดึงเนื้อหาจาก WordPress วิธีดึงเนื้อหาจาก WordPress มีหลายวิธี ขึ้นอยู่กับประเภทของเนื้อหาที่ต้องการดึง ดึงบทความทั้ Read more