ลองใช้ Medoo Database Framework

สวัสดี วันสงกรานต์นะครับ
พอดีว่า มีโจทย์ อยากทำ Web Api php ง่ายๆขึ้นมาอันนึง แล้วทำงานคู่กับ MySQL แค่ (CRUD ได้ก็พอแล้ว)
ตอนแรกว่าจะลง Yii ทำ Api
แต่คิดไปคิดมา เห้ย แค่ CRUD เฉยๆ ต้องขนาดนี้เลยไหม ?
ก็เลยเข้าไปค้นหา Database Framework มาใช้ดู
แล้วก็เจอตัวนี้ Medoo
ครั้งแรกที่ได้ลองเล่นมัน ก็สัมผัสได้ว่าะ เห้ย!! ตอนเรียน ไปเขียน connect.php ทำไมวะ ( mysql_connect string )

เข้าเรื่องกันเลย


1. Download Medoo

ก่อนอื่น ก็เข้าไป download ตัว medoo.php จากหน้าเว็บนะครับ

ผมจะสร้าง folder ชื่อว่า Medoo

ข้างในก็จะมีไฟล์ Index.php, Medoo.php

หรือ จะใช้ Composer ดึงเข้ามาก็ได้ครับ (แต่รอบนี้สำหรับ newbie 555)

ผมใช้ xampp ในการจำลอง Env dev ก็เอาไปเก็บไว้ใน htdocs

2. สร้าง Database

ผมละลองสร้างโปรแกรม Note แบบง่ายๆ โดยมีโครงสร้าง database ตามนี้ครับ

3. Include & Initialize

include ไฟล์ Medoo.php เข้าไปใน index.php แล้วทำการ use ครับ

include ไฟล์ Medoo.php เข้าไปใน index.php แล้วทำการ use ครับ
แล้วกำหนด รายละเอียดการเชื่อมต่อ database ของเราลงไปครับ

4. Insert

ในส่วนนี้ ผมก็จะเพิ่ม ข้อมูลลงไป ตามนี้ครับ

แล้วก็ Get LastId ของ Row ที่เพิ่งถูก Insert ออกมาครับ

ลองเข้าเว็บ แล้วดูผลลัพธ์ครับ ก็จะเห็นว่าข้อมูลที่เรา Insert เข้าไปเก็บใน Database เรียบร้อยแล้ว

แล้วค้าที่ Get Last ID ออกมา ก็เท่ากับ 1 (id ตัวที่เพิ่ง Insert เข้าไป)

5. Select

หลังจาก Insert ไปแล้ว คราวนี้เราก็มาดูการ Select ดูบ้าง

6.Update

สำหรับการ Update ก็ง่ายมากครับ เรายังสามารถเขียน Where ได้ตามปกติ (Select, Update, Delete เขียน WHERE ได้นะ)

7.Delete

Delete ก็ไม่มีอะไรมาก แค่กำหนด เงื่อนไขที่ต้องการลบ แล้วก็จัดได้เลย

8. Debug()

function Debug ของตัว Medoo ไว้สำหรับ ตรวจสอบคำสั่ง sql ที่ตัว medoo สร้างให้ครับ

วิธีใช้ก็ง่ายมาก แค่ใส่ debug()-> เข้าไปก่อนที่จะใช้คำสั่งอื่นๆครับ

แต่ถ้าเอาไปใส่ phpmyadmin หรือ command mysql จะฟ้องผิด syntax นะครับ

ชื่อตาราง และ ชื่อ ฟิลด์ ต้องแก้เป็น “note” -> `note` ก่อน

คำสั่งไหนที่มีการใส่ debug()-> ไว้ จะไม่ถูกทำงานนะครับ

แต่จะแสดง SQL ให้เห็นทางหน้าจอ

เพราะฉะนั้น debug แล้วอย่าลืมเอาออกด้วย

9. WHERE

เงื่อนไขการ WHERE ของตัว medoo มีให้เลือกใช้เยอะมาก ตามแต่ความสะดวกของเราเลย เราอยากใช้แบบไหน

นี้เป็นตัวอย่าง โค้ต การ WHERE แบบต่างๆ

แต่ให้จำไว้เสมอว่า เมื่อ WHERE กัน หลายๆเงื่อนไข แบบ , , , , ไปเรื่อยๆ

ตัว Medoo จะ กำหนดค่าเริ่มต้นเป็น AND เสมอ

ถ้าต้องการใช้ AND, OR ควบคู่ไปด้วย ต้องสร้าง “OR”=>[] ขึ้นมาบอกก่อนครับ

สิ่งที่ผมนำมาเสนอวันนี้ เป็นแค่ส่วนหนึ่งของฟีเจอร์ทั่งหมด ยังเหลือ อีกหลายคำสั่งเลย


สรุป

สิ่งที่ว่ามาทั้งหมด แค่แสดงตัวอย่าง การใช้งานอย่างง่ายของ Medoo

ตัว medoo ทำให้เราสามารถทำงานได้สะดวกสบาย

โค้ตดูเป็นระเบียบ สวยงามมากขึ้น

เราไม่ต้องไปเขียน คำสั่ง SQL เองเลย

เราไม่ต้องไปเสียเวลาสร้าง mysql_connect เองแล้ว แค่ใส่ค่า database ของเราก็พร้อมใช้งาน

เป็น Database Framework ตัวนึ่งที่ เบา และ ใช้ง่ายมากกกกกกกก

ทั้งนี้ทั้งนั้น ผมแค่ Intro ถ้าอยากรู้ลึกกว่านี้ เข้าไปอ่าน Doc นะครับ http://medoo.in/doc

Make it work, Make it right, Make it fast
ผมทำแค่ Make it work ครับ
Make it fast, Make it right คงต้องไปหาคำตอบเอาเอง
ขอบคุณครับ