5 Code ที่จะทำให้คุณรัก Codeigniter มากขึ้น

5 Code ที่จะทำให้คุณรัก Codeigniter มากขึ้น

สืบเนื่องมาจากกระแสหลังจากที่ sitepoint ออกมาประกาศผลการสำรวจเรื่องของ php framework ของปี 2015 เห็นได้ชัดว่าคนไทยยังคงรักและใช้งาน Codeigniter กันอย่างแพร่หลาย วันนี้ผมเลยมาแนะนำถึง code ที่เป็น tool ในการพัฒนาระบบของ CI เพื่อให้เราทำงานง่ายขึ้น ซึ่งมีหลายรูปแบบทั้งเป็น CMS มาเลยหรือเป็นเพียง extend มาหรือบางตัวเป็นชุด Start กันเลยทีเดียว

 

ภาพประกอบ : codeigniter tool

ภาพประกอบ : codeigniter tool

Codeigniter PHP Framework Tools

ต้องยอมรับเลยนะครับว่าคนไทยใช้งาน CI กันเยอะจริงๆ ล่าสุดเพิ่งปล่อย version 3 ออกมาได้ไม่นานกับบ้านใหม่นอกรั๊ว Ellislab มาดูกันเลยดีกว่าครับว่ามีอะไรเป็นเครื่องมือดีๆตอนนี้บ้าง

1.bonfire

ภาพประกอบ : cibonfire

ภาพประกอบ : cibonfire

ขอเริ่มจากเจ้าใหญ่ก่อนแล้วกันนะครับ CI bonfire ตัวนี้เป็นระบบใหญ่นะครับ เหมาะกับทำ Application ตัวระบบใช้ bootstrap เป็นโครง css ให้ด้วย และมี  users management มาให้อีกมี Theme Basic มาให้มีการเชื่อมต่อ database มีเครื่องมือช่วยรองรับการทำงานกับ Email รองรับความสามารถแบบ HMVC ติดตั้งง่าย

2.fuelcms

ภาพประกอบ : fuelcms

ภาพประกอบ : fuelcms

ตัวนี้เป็น CMS ครับหรือ Content Management System แต่จะเน้นไปที่ระบบหลังบ้านมากเป็นพิเศษ ทำงานบนพื้นของ oop มีระบบ Asset Management ทำให้เราสามารถทำงานกับไฟล์ต่างๆในระบบได้เร็วขึ้น ปรับแต่ง routes ได้ตามใจ เหมือนปรับบน CI เดิมเลย สามารถ Generate form แบบ automatically ได้โดยใช้เพียง table schemas เท่านั้น และตัวระบบยังแถมเครื่องมืออยาก google keyword, backup,Cronjob มาให้อีก เหมาะสำหรับคนที่เชี่ยว ci หน่อยอยากสร้างงานที่ไม่ต้องปรับแต่งเยอะเน้นๆแค่ระบบพื้นๆ ตัวนี้ครบเลย

3.CodeIgniter-admin-panel

ภาพประกอบ : admin-panel

ภาพประกอบ : admin-panel

ตัวนี้เล็กลงมาเยอะเพราะเป็นเพียงส่วนหนึ่งของระบบแต่มองว่าถ้าจะเริ่มจากตัวนี้ก็ดีไม่น้อยสำหรับงานที่ไม่ใหญ่มากอะไรนัก เริ่มจาก CRUD ได้หมด แถมมี Authen ของ User มาให้ด้วยใช้งานง่ายดีครับ ใครกำลังจะขึ้นโปรเจ็คใหม่ไม่อยากมานั่งทำ login ให้เสียเวลาเอาตัวนี้ไปลองเลยครับ

4.CodeIgniter-Ion-Auth

ส่วนตัวนี้เป็น simple and clean authen ธรรมดาๆเลยครับ ใช้งานง่าย แค่ load เข้ามาก็เรียบร้อยแต่การ config เยอะเอาเรื่องนะครับ ถ้าใครจะใช้เต็มรูปแบบต้องลองไปศึกษา Document ของเค้าให้ดีๆก่อนนะครับ

$this->load->library('ion_auth');

5.ci-minify

ต่อมาเป็น minify หรือเครื่องมือในการทำ combine ให้ javascript file กับ css file ใน project ของเรานั้นแหละครับ ใช้งานง่ายไม่ยุ่งยากอีกแล้ว

$this->load->driver('minify');
$file = 'test/js/test1.js';
echo $this->minify->js->min($file);

6.base-model

แถมกันอีกซักตัวครับสำหรับ ci base model เป็นตัวที่ดูมีประโยชน์ เข้าท่าเข้าทางไม่น้อย แม้จะเป็น code ทางฝั่ง CRUD ธรรมดาแต่เป็นตัวที่เอาไว้ช่วยเราตรวจสอบและจัดการในระหว่างการทำงานได้เป็นอย่างดีทั้ง callback ในตอนที่เรากำลังใส่ข้อมูลลงไปใน database ก็ timestamps ให้เรา validate ข้อมูลให้เราก่อนที่เราจะ insert และยังมี protect เวลาเราใส่ข้อมูลลงไปด้วยวิธีแบบ Hash เพื่อปกป้อง attribute และทำ soft delete ง่ายๆถ้าเช็คข้อมูลแล้วทุกอย่างถูกต้องค่อยดำเนินการก่อนลบ และทำงานร่วมกับ UNIT TEST ได้ด้วย เป็นเครื่องมือที่เหมาะมากสำหรับใช้กับ project ที่พัฒนาขึ้นมาใหม่นะครับประหยัดเวลาในการเขียนไปได้เยอะเลย


class Post_model extends MY_Model { }

$this->load->model('post_model', 'post');

$this->post->get_all();

$this->post->get(1);
$this->post->get_by('title', 'Pigs CAN Fly!');
$this->post->get_many_by('status', 'open');

$this->post->insert(array(
'status' => 'open',
'title' => "I'm too sexy for my shirt"
));

$this->post->update(1, array( 'status' => 'closed' ));

$this->post->delete(1);

ไม่แน่ใจว่าทั้งหมดนี่จะพอทำให้คุณรัก ci มากขึ้นรึเปล่าแต่ผมว่าอย่างน้อยๆ ci ก็นับว่าเป็น php framework ที่ดีมากๆตัวหนึ่ง ทั้งใช้งานง่าย ยืดหยุ่น มีคนใช้งานเยอะ เอกสารดีเยี่ยม เอาคร่าวๆแบบไม่ลงลึกในรายละเอียดเท่านี้ก็ทำให้เรายังคงใช้งาน ci กันต่อไปแล้ว