วิธีทำ Backend ด้วย CRUD Library ด้วยโค๊ดไม่กี่บรรทัด

ทำ-Backend-ด้วย-CRUD5
ทำ-Backend-ด้วย-CRUD5

วิธีทำ 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
    ทำ-Backend-ด้วย-CRUD1


    จากนั้นให้สร้าง 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
    ผลลัพธ์ที่ได้
    ทำ-Backend-ด้วย-CRUD
    จะเห็นว่า 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/ ก็สามารถเข้าไปปรับแก้ได้เลย


ทำ-Backend-ด้วย-CRUD