ข้ามไปที่เนื้อหาหลัก

บทความ

กำลังแสดงโพสต์ที่มีป้ายกำกับ OOP

ฝึกเขียน PHP OOP ด้วยการนับอายุตามปฏิทิน และคำนวณวันที่เกษียณอายุราชการแบบง่ายๆ

ฝึกเขียน PHP OOP ด้วยโจทย์ปัญหาคณิตศาสตร์ กับการคำนวณยอดจำหน่ายคูปอง

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

ส่วนแสดงผล แบบระบายสีตามช่วงเวลา ระบบจองห้องประชุม

สร้างตารางเรียน ตารางสอนด้วย PHP SQL สำหรับตรวจสอบช่วงเวลาที่ว่าง สำหรับระบบจองห้องประชุม ต่างๆ จากบทความที่ผ่านมา ได้เขียนไว้แบบไม่ได้ผูกเนื้อหาไว้ก่อนหน้า จึงทำให้การทำงานอาจจะข้ามไปมา คงจะเป็นภาระให้ท่านต้องทำการค้นหา และนำมาปรับใช้กันเอง  วันนี้จึงมีบทความใหม่จะมานำเสนอ โดยที่ใช้บทความเดิมมาปรับแต่งให้เข้ากับระบบการจองห้องประชุม โดยระบบนี้จะใช้ตารางเพียง 2 ตารางในการเก็บข้อมูลเท่านั้น และฐานข้อมูลที่เราจะใช้ในการเขียนโปรแกรมร่วมกับ PHP นั้นก็คือ MySQL เหมือนเช่นเคย

OOP คืออะไร

OOP =  Object oriented programming แล้ว PHP OOP คืออะไร หาอ่านได้จากในเว็บครับส่วนตัวแล้วก็ยังเข้าใจไม่ถ่องแท้  จึงได้เปิดหมวดหมู่ใหม่เพิ่มขึ้นมา เพื่อลองเล่นกับ OOP ดูสักตั้ง ในความคิดของผมนั้น การเขียนเป็น Class ไม่ได้ต่างจากเขียนเป็น Function แต่เสน่ห์อย่างหนึ่งของการเรียกใช้งาน Class ก็คือ การส่งค่าเข้าไปในฟังก์ชั่นได้สะดวก และสามารถส่งค่าได้หลายค่าโดยที่ไม่ทำให้โค๊ดยาว จนต้องสร้างเป็นอาร์เรย์แล้วส่งไปในฟังก์ชั่นเหมือนทุกครั้ง การสร้าง Class ขึ้นมาใช้งานก็คงเหมือนกับการจับ Function มารวมไว้ในถุงเดียวกัน เป็นการแพ็กรวมฟังก์ชั่นนั่นเอง เวลาเรียกใช้ก็อ้างถึงแพ็กเกจที่ต้องการก่อน แล้วค่อยหยิบ Function ออกมาใช้ ส่วนประกอบหลักของ OOP มีดังนี้ Class  => ชื่อแพ็กเกจ Property => พารามิเตอร์ ที่ส่งเข้า  Function ปกติ Method => ชื่อ Function ปกติ แล้ว OOP มันดียังไง???? ผมก็ยังสงสัยอยู่ครับ พยายามหาเหตุผลว่าทำไมต้อง OOP เหมือนกับจะหาคำอธิบายได้แต่ก็โดนฟังก์ชั่นธรรมดาหักล้างทุกที ปัจจุยหลักคงจะเป็นเพราะผมไม่ได้จับงานระบบใหญ่ๆ เลยเข้าไม่ถึง OOP ...