การสร้าง Class ในภาษา PHP

PHP Knowledge เป็น บอร์ดรวามความรู้ php เน้นบทความ แนวทางการเขียนโปรแกรม บันทึกกันลืม เพื่อให้สมาชิกได้เขียนความรู้ที่ตัวเองมีให้สมาชิกท่านอื่นๆ ได้ เข้ามาอ่าน และ ไว้อ่านเองกันลืมด้วย

Moderator: mindphp, ผู้ดูแลกระดาน

pataponnew
PHP Hero Member
PHP Hero Member
โพสต์: 152
ลงทะเบียนเมื่อ: 03/05/2021 10:18 am

การสร้าง Class ในภาษา PHP

โพสต์ที่ยังไม่ได้อ่าน โดย pataponnew »

Class คือชุดโค้ดไว้สร้าง Object ต่างๆ อธิบายให้เข้าใจง่ายๆโดยผมจะยกตัวอย่างเปรียบเทียบกับนก เช่น นกตัวนี้สีดำ ตัวใหญ่ เเละขนสั้น นกตัวนี้ สามารถบินได้ วิ่งได้ เเละร้องเพลงได้
นก คือวัตถุๆ(Object) นะครับที่มีชื่อว่า นก
นกตัวนี้สีดำ ตัวใหญ่ เเละขนสั้น สิ่งเหล่านี้ คือคุณสมบัติ(Properties)ของวัตถุนะครับ
นกตัวนี้ สามารถบินได้ วิ่งได้ เเละร้องเพลงได้ สิ่งเหล่านี้คือ การกระทำที่นกสามารถทำได้(Method)นั่นเองครับ

จะยกตัวอย่างการสร้างClass ในภาษา php กันนะครับ
โดยผมจะทำการสร้าง Class ที่มีชื่อว่านก

โดยจะเห็นได้ว่าคลาสนี้ จะมีชื่อว่า Bird นะครับ โดยตัวแปร $Color, $Size,$Feather จะใช้เก็บค่าคุณสมบัติ เเละ
fly(),run(),sing() คือชื่อของฟังก์ชั่นการทำงานของ Class นก ครับ

โค้ด: เลือกทั้งหมด

<?php

class Bird
{
  public $Color="Blue";
  public $Size="Big";
  public $Feather="Short";

  public function fly()
  {
    echo "I am fly";
  }
  public function run()
  {
    echo "I am run";
  }
  public function sing()
  {
    echo "do re mi fa sol la ti do";
  }
}
?>

โดยการเรียกใช้งานฟังก์ชั่นต่างๆในClass นกทำได้ดังนี้ครับ
ทำการสร้างตัวแปร เเล้วใช้คำสั่ง = new ตามด้วย "ชื่อฟังก์ชั่น" จากนั้น ตัวเเปรที่เราสร้างจะสามารถใช้Methodจากในคลาส Bird ได้เเล้วตามโค้ดครับ

โค้ด: เลือกทั้งหมด

$a = new Bird();
$a->fly();
echo "<br>";
$a->run();
echo "<br>";
$a->sing();
จะเเสดงค่าในMethodที่เราใส่เอาไว้ครับ
การเเสดงค่าในMethod
การเเสดงค่าในMethod
bandicam 2021-05-07 16-27-37-405.jpg (9.79 KiB) Viewed 920 times

ข้อดีของคลาส นั้นก็คือ สมมุติว่าผมต้องการ สร้าง object นก ตัวใหม่ ที่สามารถ ว่ายน้ำได้ด้วย ผมก็เเค่ทำการสืบทอดคลาส เพื่อเพิ่ม Method ว่ายน้ำ
ทำให้สะดวก ไม่ต้องเขียนโค้ดหลายบรรทัดครับผม

อ้างอิง
https://presstige.io/p/class-object-PHP-ddf8dbfe28b6409389f1a102435a4fa5
http://www.prasansoft.com/web-content-php17.php
https://code-fin-nua.com/blog/php-oop-%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%AA%E0%B8%A3%E0%B9%89%E0%B8%B2%E0%B8%87-class/
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 74