\

Facebook


วันพฤหัสบดีที่ 10 เมษายน พ.ศ. 2557

[แนะนำ] ใช้ Medoo Database Framework สร้างเว็บไซด์ ให้ดาต้าเบสเป็นเรื่องกล้วยๆ


ใครที่เริ่มบรรทัดการติดต่อดาต้าเบสด้วยภาษา php ด้วยคำสั่ง mysqli_connect(xx,xx) อยู่บ้างยกมือขึ้นครับ ไม่ได้ว่าผิดนะครับ เพราะผมก็เริ่มแบบนี้เหมือนกัน ชอบเขียนด้วยตัวเองตั้งแต่บรรทัดแรกยันสุดท้าย แต่เว็บไซด์ยุคนี้ต้องเน้นสร้างไวและเสียเวลากับเรื่องไม่จำเป็นให้น้อยที่สุด สมองจะได้ปลอดโปร่ง มีเวลาไปพักผ่อนสะสมแรงใหม่อีกครั้ง

ถ้า Develop เว็บไซด์ด้วย PHP ก็มีหลายหลายเฟรมเวิร์คเลยครับ ที่ทำให้การเขียนโค๊ดประหยัดแรงมากขึ้น เช่น Wordpress, Drupal, Yii, Codeigniter etc. มีเวลาไล่เรียงทั้งวันก็ไม่ครบ แต่ละตัวก็มีคุณสมบัติที่แตกต่างกัน  ถึงขนาดมีคนเอา performance มาเปรียบเทียบกันให้รู้กันไปข้างนึงว่าใครดีกว่าใคร ผมอ่านแล้วปวดหัวตามครับ เลยท่องเว็บออกตามหา Database Framework แบบเบาๆ ไม่กินแรมเครื่องมหาศาล แต่ผลลัพธ์ที่ได้น่าพอใจ สุดท้ายมาจบที่ Medoo ตามเว็บไซด์นี้เลยครับ http://medoo.in

วิธีการใช้งานก็กล้วยแสนกล้วย แค่เข้าเว็บไซด์ของเค้า แล้วไปดาว์นโหลดคลาส Medoo.php เว่อร์ชั่นล่าสุดมาใช้งาน เวลาจะใช้กับไฟล์ไหน ก็เพียงแค่ require_once(‘Medoo.inc.php’); เข้ามาด้วย แล้วทั้งคลาสก็พร้อมให้ท่านเรียกใช้ได้เลยครับ ตามรูปด้สนล่าง
 ที่เหลือก็เพียงแค่ new object มันขึ้นมาใหม่ ด้วยโค๊ดบรรทัดนี้

$database = new medoo('my_database');

ตัวอย่าง การ select  ข้อมูลจาก table ชื่อว่า Account แล้วรับ array ที่รีเทิร์นกลับมา $datas อธิบายคร่าวๆตามภาพคือเลือกมา 2 fields คือ user_name และ email โดยมีเงื่อนไขเพิ่มเข้าไปคือ user_id มากกว่าหรือเท่ากับ 100

1.  $datas = $database->select("account", [
2.    "user_name",
3.    "email"
4.  ], [
5.    "user_id[>]" => 100
6.  ]);


ตัวอย่างการ Insert ข้อมูลหลาย  record โดยใช้ JSON  โดยเพิ่มลงในตาราง account และเซ็ตฟิลล์ user_name, email, age,city,lang


// Multi-insertion (since Medoo 0.9)
1.  $last_user_id = $database->insert("account", [
2.  [
3.    "user_name" => "foo",
4.    "email" => "foo@bar.com",
5.    "age" => 25,
6.    "city" => "New York",
7.    "lang" => ["en", "fr", "jp", "cn"]
8.  ],
9.  [
10.   "user_name" => "bar",
11.   "email" => "bar@foo.com",
12.   "age" => 14,
13.   "city" => "Hong Kong",
14.   "lang" => ["en", "jp", "cn"]
15. ]);

นอกจากนี้ยังมีคำสั่งพื้นฐานที่สำคัญอยู่ครบถ้วน insert ,update, delete, select ด้วยเงื่อนไข AND OR,  สำหรับใครที่สนใจศึกษาเพิ่มเติมที่ documentation ของ official Medoo ตามลิ้งด้านล่างนี้นะครับ http://medoo.in/doc  ถือว่าครบถ้วนระดับนึง ตอนนี้ผมก็เริ่มทดลองเอาไปสร้างเว็บไซด์ดูเล่นๆก่อน ถ้ามีจุดไหนบกพร่อง ผมจะมาอัพเดตข้อเสียเพิ่มเติมให้ก็แล้วกัน

สรุป เบามาก ไม่กินสเปกเครื่อง ติดต่อดาต้าเบสไว(ผมลองที่ localhost อยู่ และไม่ได้จับเวลาเปรียบเทียบกับแบบไม่ได้ใช้) แต่ถ้าเปรียบกันตามที่คนเปิดเว็บขึ้นใช้งาน ถือว่าอยู่ในเกณฑ์ดีนะครับ แถมยังใช้ JSON ซึ่งเข้าใจง่าย รู้แบบ Syntax ก็เป็นมิตร น่าใช้งานครับ [2WeekTrain]

ไม่มีความคิดเห็น:

May be like this posts

  • [ C# ] โปรแกรมคำนวน Keyword Density
    02/05/2015 - 0 Comments
    อย่างที่รู้กันว่า Google จัดอันดับเว็บไซด์ด้วยความเกี่ยวข้องของเนื้อหาบทความและ keywords ที่ต้องการค้นหา…
  • [WinForm c#] เบาๆกับโปรแกรม test SQL Connection อย่างง่าย
    12/09/2013 - 0 Comments
    วันนี้ว่างๆ กับวันศุกร์ยมๆ (บรรยากาศเงียบๆ) ทดลองทำโปรแกรม ทดสอบคอนเน็คชั่นด้วย sql server 2008 r2…
  • ยุคสมัยแห่ง Automate เมื่อ Selenium เข้ามาเป็น QA แทนมนุษย์ (Part 1)
    22/06/2017 - 0 Comments
    ยอมรับสักทีเถอะว่ายุคนี้ ปี 2017 มันเริ่มเข้าสู่ยุคหุ่นยนต์แล้ว ไหนจะรถไร้คนขับ ไหนจะ AlphaGo…
  • วิธี HOST ไฟล์ JavaScript หรือ CSS ไว้บน DropBox แบบฟรีๆ
    02/08/2017 - 0 Comments
    ผมเขียนบล็อกบน Blogger มีปัญหารที่เจอประจำคือ ไฟล์ JS หรือ CSS ที่ผมปรับแต่งเพิ่มเติมนั้น…
  • แก้ปัญหา  Shutdown ไม่ลง
    12/02/2018 - 0 Comments
    การ Shutdown หลังใช้งาน PC/ Notebook ระบบ Windows เสร็จทำให้เครื่องใช้งานอยู่กับเราได้นานกว่าการ sleep…
  • [TeamViewer] วิธีการ Remote Control เครื่องคอมในวงแลนเดียวกัน
    13/09/2013 - 2 Comments
    วิธีในการ connect เครื่องคอมของเพื่อนที่อยู่ในวงแลนเดียวกัน (Local area Network Connection) ผ่านโปรแกรม…
  • [SVN] commit failed 405 method not allowed บ่นๆ
    19/08/2014 - 0 Comments
    บทความนี้ขอบ่น ฮ่าๆ ผมได้รับมอบหมายงานนั้นเเหละครับ วิธีส่งงานคือ commit ผ่าน source control ด้วย TortoiseSVN…