วิธีทำ Backend ด้วย CRUD Library ด้วยโค๊ดไม่กี่บรรทัด
วิธีทำ Backend ด้วย CRUD Library ด้วยโค๊ดไม่กี่บรรทัด
CRUD ย่อมาจากคำ 4 คำคือ (Create, Read, Update, Delete) อย่างที่เคยได้อธิบายในในกระทู้ CRUD คืออะไร รวม codeigniter library ที่จะทำให้ชีวิตง่ายขึ้น
วันนี้เลยจะมาแนะนำการใช้งาน CRUD Library สำหรับทำระบบหลังบ้านหรือ ระบบ backend เชื่อว่าโปรแกรมเมอร์หลาย ๆ คนที่พัฒนาเว็บไซต์ที่ต้องมีระบบหลังบ้านหรือมีโครงสร้างฐานข้อมูล จะต้องมีการพัฒนาระบบหลังบ้านควบคู่ไปกับการพัฒนาเว็บไซต์หลักหรือ frontend
และนักพัฒนาหลาย ๆ คนอาจจะใช้วิธีนำ Source Code หลังบ้านของระบบเก่ามาปรับแก้ไข ให้ใช้ได้กับโครงสร้างฐานข้อมูลของเว็บไซต์ใหม่ ซึ่งก็เป็นวิธีที่ช่วยลดระยะเวลา ขั้นตอนการทำงานลงได้บ้าง แต่ก็ยังลำบากอยู่ดีเพราะถ้าต้องปรับแก้ไขทุกโปรเจคก็ถือว่าต้องใช้เวลาในการปรับอยู่มากพอสมควร และถ้าลูกค้าต้องการเปลี่ยน Theme ของระบบหลังบ้านก็จะยิ่งยุ่งยากเข้าไปอีกเพราะต้องปรับระบบให้ตรงกับโครงสร้างฐานข้อมูล และยังต้องปรับธีมให้ตรงตามแบบอีก
CRUD Library จะเข้ามาช่วยทั้งในส่วนของโครงสร้างฐานข้อมูล และช่วยเรื่องการจัดการธีม นั้นหมายความว่าทุก ๆ โปรเจคเว็บไซต์ เราสามารถปรับให้มีรูปร่างหน้าตาที่ไม่ซ้ำกันได้และเปลี่ยนระบบหลังบ้านไปตามโครงสร้างฐานข้อมูลได้แบบง่าย ๆ
ในบทความนี้จะขอแนะนำวิธีการใช้งาน CRUD Library ที่ชื่อว่า Grocery crud ซึ่งเป็น Library ที่ถูกพัฒนาบนพื้นฐานของ Codeigniter Framework นั่นหมายความว่าถ้าเรามีพื้นฐานการใช้งาน Codeigniter อยู่แล้ว จะใช้เวลาในการเรียนรู้น้อยมาก ๆ
เริ่มใช้งาน Grocery crud
- 1. ดาวน์โหลด CRUD
ให้ไปดาวน์โหลด Library ที่ grocerycrud.com เราจะได้โฟลเด้อหลักมา 2 โฟลเด้อคือ application และ assets ตามโครงสร้างของ codeigniter ไฟล์ใน application จะเป็นโครงสร้างของ crud ส่วนไฟล์ใน assets จะไว้จัดการเรื่อง theme - 2. ติดตั้ง CRUD
หลังจากที่เราได้มาทั้ง 2 โฟลเด้อแล้ว ให้สร้างโปรเจค codeigniter และนำไฟล์ทั้งหมดที่อยู่ใน application และ assets ไปวางไว้ในแต่ละโฟลเด้อ ยกตัวอย่างเช่น ไฟล์ชื่อว่า application/config/grocery_crud.php ให้นำไฟล์ grocery_crud.php ไปวางไว้ในโฟลเด้อ config ของ codeigniter - 3. เลือกฐานข้อมูลสำหรับ backend
หลังจากที่เราติดตั้ง codeigniter และ crud เรียบร้อยแล้วให้ไปที่ไฟล์ application/config/config.php กำหนดฐานข้อมูลและการเชื่อมต่อปกติของ codeigniter - 4. สร้าง database table,view และ controller สำหรับทดสอบ
ให้ทดลองสร้างฐานข้อมูลเบื้องต้นสำหรับทดสอบ โดยในตัวอย่างผู้เขียนได้สร้าง table ชื่อว่า apps_position โดยมีโครงสร้างดังนี้
เทเบิ้ล apps_position
จากนั้นให้สร้าง Controller โดยใช้ความสามารถของ Grocery crud ดึงข้อมูลมาแสดง ดังนี้ไฟล์ controller ที่ชื่อว่า Examples.php
class Examples extends CI_Controller { public function __construct() { parent::__construct(); $this->load->database(); // เปิดใช้งานการเชื่อมต่อฐานข้อมูล $this->load->helper('url'); // ใช้ url helper ของ codeigniter $this->load->library('grocery_CRUD'); // โหลด CRUD Library มาใช้งาน } public function member_management() { $crud = new grocery_CRUD(); // สร้างตัวแปร crud $crud->set_theme('datatables'); // เลือกธีมที่จะให้แสดงผล $crud->set_table('apps_position'); // เลือกเทเบิ้ลในฐานข้อมูล $output = $crud->render(); // สั่ง render $this->load->view('example',$output); // ส่งไปแสดงผลที่ view } }
จากนั้นให้ทดสอบระบบด้วยการ run controller ตัวอย่างเช่น http://localhost/examples/position_management
ผลลัพธ์ที่ได้
จะเห็นว่า Grocery crud ได้จัดเตรียมฟังก์ชั่นต่าง ๆ ทั้งการเพิ่มข้อมูล แก้ไข ลบ export excel ค้นหา filter ให้เราเสร็จสรรพ โดยการเขียนโค๊ดเพียงไม่กี่บรรทัด
จัดการ Theme ใน Grocery crud
theme ใน grocery crud จะถูกเก็บไว้ในโฟลเด้อ assets/grocery_crud/themes/ โดยเริ่มต้นจะมี theme ต้นแบบให้เลือกใช้งานอยู่ 3 แบบด้วยกันคือ
- datatables
- flexigrid
- twitter-bootstrap
เราสามารถเปลี่ยน theme ได้ด้วยคำสั่ง $crud->set_theme(‘datatables’); นอกจากนั้นเรายังสามารถพัฒนาธีมขึ้นมาใช้งานเองได้
วิธีสร้าง theme ใน grocery crud นั้นไม่ยุ่งยากเลยครับ ง่าย ๆ เลยให้เรา copy/paste โฟลเด้อ theme ต้นแบบ จากนั้นก็ปรับแก้หน้าตาจากไฟล์ js,css,font,image เหมือนเราทำ html ธรรมดาครับ โดยข้อมูลการแสดงผลแต่ละหน้าคือการแสดงรายการ การเพิ่ม การแก้ไข การลบ จะถูกเก็บไว้ใน assets/grocery_crud/themes/views/ ก็สามารถเข้าไปปรับแก้ได้เลย