เมธอด __construct

เมธอด __construct เป็นเมธอดพิเศษของคลาสซึ่งจะถูกเรียกใช้โดยอัตโนมัติเมื่อสร้างอ็อบเจกต์ใหม่ขึ้นมา โดยใช้เพื่อกำหนดค่าเริ่มต้นให้กับคุณสมบัติของอ็อบเจกต์ หรือดำเนินการตั้งค่าเริ่มต้นอื่น ๆ ต่างจากเมธอดทั่วไปตรงที่เราไม่จำเป็นต้องเรียกคอนสตรัคเตอร์โดยตรง

ไวยากรณ์

phpclass ClassName {
  public function __construct([parameters]) {
    // initialization code
  }
}

ตัวอย่าง

มาสร้างคลาสง่าย ๆ ที่มีคอนสตรัคเตอร์สำหรับกำหนดคุณสมบัติ $name:

php<?php
class User {
  public $name;
  
  public function __construct($name) {
    $this->name = $name;
  }
}

$user = new User('John');
echo $user->name;
?>

ผลลัพธ์จากการรันโค้ด:

php'John'

ตัวอย่าง

คอนสตรัคเตอร์สามารถรับพารามิเตอร์ได้หลายค่า และทำการตั้งค่าเริ่มต้นที่ซับซ้อนได้:

php<?php
class Product {
  public $id;
  public $price;
  
  public function __construct($id, $price) {
    $this->id = $id;
    $this->price = $price * 1.2; // เพิ่มภาษีมูลค่าเพิ่ม 20%
  }
}

$product = new Product(101, 100);
echo $product->price;
?>

ผลลัพธ์จากการรันโค้ด:

php120

ดูเพิ่มเติม

  • เมธอด __destruct,
    ซึ่งถูกเรียกเมื่อทำลายอ็อบเจกต์
  • เมธอด __clone,
    ซึ่งถูกเรียกเมื่อโคลนอ็อบเจกต์