Class จะเปรียบเสมือนพิมพ์เขียวที่สามารถนำไปใช้งานได้หลายครั้ง โดยวิธีการนำไปใช้เราจะต้องสร้าง object จาก class ก่อน แล้วจึงนำ object ไปใช้งาน
Class
definition
การประกาศ class ในภาษา PHP จะใช้คำสั่ง class ตามด้วยชื่อ class และเปิดปิดด้วย {}
class ClassName {
// properties and methods goes here
}properties
การประกาศ properties ในภาษา PHP จะใช้คำสั่ง public หรือ var ตามด้วยชื่อ properties และเปิดปิดด้วย ;
class ClassName {
public $property1 = "value1";
public $property2 = "value2";
}access modifiers
access modifiers หมายถึงการกำหนดความเข้าถึงของ properties หรือ methods ซึ่งมี 3 ระดับ ได้แก่
- private (default) คือ การกำหนดให้สามารถเข้าถึงได้เฉพาะภายใน class เท่านั้น
- public คือ การกำหนดให้สามารถเข้าถึงได้จากภายนอก class ได้
- protected คือ การกำหนดให้สามารถเข้าถึงได้จากภายใน class และ class ที่สืบทอดมาได้
class ClassName {
public $property1 = "value1";
protected $property2 = "value2";
private $property3 = "value3";
}Constructor
constructor คือ method ที่จะถูกเรียกใช้งานเมื่อมีการสร้าง object จาก class โดยจะใช้คำสั่ง __construct() ในการประกาศ
class ClassName {
public $property1 = "value1";
protected $property2 = "value2";
private $property3 = "value3";
public function __construct() {
// code
}
}Methods
method คือ function ที่อยู่ภายใน class โดยการประกาศ method ในภาษา PHP จะใช้คำสั่ง public function ตามด้วยชื่อ method และเปิดปิดด้วย {}
class ClassName {
public $property1 = "value1";
protected $property2 = "value2";
private $property3 = "value3";
public function __construct() {
// code
}
public function method1() {
// code
}
public function method2() {
// code
}
}This keyword
this คือ keyword ที่ใช้ในการอ้างถึง properties หรือ methods ภายใน class โดยจะใช้คำสั่ง $this-> ตามด้วยชื่อ properties หรือ methods
class ClassName {
public $property1 = "value1";
protected $property2 = "value2";
private $property3 = "value3";
public function __construct() {
// code
}
public function method1() {
// code
}
public function method2() {
// code
}
public function method3() {
echo $this->property1;
}
}-> operator
-> คือ operator ที่ใช้เรียกใช้ properties หรือ methods ของ class
เช่น
$object = new ClassName();
$object->method1();