StepCoding

Objects

อ่าน [249] หมวดหมู่: Data Types

PHP ยังได้สนับสนุนการเขียนโปรแกรมเชิงวัตถุ object-oriented programming (OOP) ซึ่งประโยชน์อย่างเห็นได้ชัดของการเขียนโปรแกรมเชิงวัตถุก็คือคุณสมบัติ reuse โดยใน PHP5 นั้นได้ปรับปรุง OOP ให้มีความครอบคลุมมากขึ้น

Class ต่าง ๆ จะประกอบไปด้วยโครงสร้างต่าง ๆ เช่น properties (หรือ variable) และ method (หรือ function) ซึ่งในการสร้าง class นั้น ๆ จะใช้ keyword "class"

<?php
class Person {
	public $name = '';
	function name ($newname = NULL) {
		if (!$is_null($newname)) {
			$this->name = $newname;
		}
		return $this->name;
	}
}
?>

เมื่อเราสร้างคลาสเรียบร้อยแล้ว เราก็สามารถสร้าง object ของคลาสได้โดยใช้ keyword "new" โดยที่อ็อบเจ็คนั้น ๆ สามารถเรียกใช้ properties และ method ต่าง ๆ ได้โดยใช้ "->" เช่น

<?php
$gt = new Person;
$gt->name("Genetic");
printf("Hello, %s\n", $ps->name);

$jn = new Person;
$jn->name("John");
printf("Look out below %s\n", $jn->name);
?>
# ผลลัพธ์
Hello, Genetic
Look out below John

ในการตรวจสอบว่าตัวแปรนั้น ๆ เป็นชนิด object หรือไม่นั้น สามารถตรวจสอบโดยใช้ฟังก์ชัน is_object() ดังนี้

<?php
$ps = new Person;

if (is_object($ps)) {
	echo '$ps เป็นตัวแปรชนิด object';
}
?>

ผู้สนับสนุน