CodeIgniter คือ Php Framework ที่เป็นที่นิยมในหมู่นักพัฒนา เป็นจำนวน มาก เหมาะสำหรับ ผู้ที่เริ่มเขียนโปรแกรมด้วย ภาษา PHP มาสักระยะหนึ่ง ซึ่งอาจจะเขียน แบบ ธรรมดา หรือ แบบ OOP และ ต้องการ จะ เขียนโปรแกรม ในรูปแบบ MVC เพื่อให้สามารถเขียนได้เร็วขึ้น และ มีรูปแบบการเขียนที่เป็นมาตรฐาน (MVC) ด้วย ระบบ Framework ก็ถือว่า CodeIgniter เป็นตัวเลือกที่น่าสนใจ เลยที่เดียวครับ
รูปแบบการเขียนโปรแกรมแบบ MVC คืออะไร
อธิบายอย่างง่าย ก็คือ การที่ แยกส่วนการทำงาน ของระบบ ออกจากกัน เช่นแยกส่วนการ แสดงผลข้อมูล ออกจากส่วนการประมวณผล เป็นต้น
โดยจะมีการทำงานดังนี้
Model คือ ส่วนสำหรับการ จัดการกับข้อมูล เช่น การเชื่อมต่อกับฐานข้อมูล หรือ ข้อมูล Data อื่น ๆ
Controller คือ ส่วนสำหรับการ ควบคุม การ ทำงานของระบบ โดย จะเรียกข้อมูลจาก Model มาส่งต่อให้กับ view เพื่อแสดงผลต่อไป
view คือ ส่วนการแสดงผลที่ รับค่า ข้อมูลที่ถูกประมวลผล จาก Controller มาแสดงผล
การติดตั้ง CodeIgniter
ไป Download ได้ที่ www.codeigniter.com
คลิกที่ Download จะได้ไฟล์ CodeIgniter-3.1.2.zip (เลข version อาจเปลี่ยนแปลงได้ครับ ในตัวอย่างเป็น version 3.1.2 ซึ่งถ้าผู้อ่าน เข้าไป ดาวน์โหลดแล้ว พบว่าไม่ใช่เลข version เดียวกัน ไม่ต้องตกใจครับ สามารถ Download มาใช้ได้เลยครับ)
ให้เรา Extract ไฟล์ จะได้ Folder CodeIgniter-3.1.2 ให้นำไปวางที่ Web Server ของเราครับ ตัวอย่างผมใช้ Xampp ผมจะเอาไปวางที่ C:/xampp/htdocs/CodeIgniter (โดยผมได้เปลียนชื่อจาก CodeIgniter-3.1.2 เป็น CodeIgniter เพื่อความง่ายในการเรียกใช้งานครับ)
ต่อไปเรามาลองเรียกใช้งานกันครับ ไปที่ Web Brower พิมพ์ localhost/CodeIgniter หรือ 127.0.0.1/CodeIgniter
หากขึ้นหน้าจอต้อนรับดังภาพ หมายความว่า เราได้ติดตั้งสำเร็จ และ สามารถใช้งาน CodeIgniter ได้แล้วครับ แต่เดียวก่อน นี้เป็นเพียงการเริ่มต้นเท่านั้นครับ ถึงจะติดตั้งสำเร็จแล้ว เราก็ต้องมาเขียน ให้มันทำงานได้ตามที่เราต้องการกันอีกที ซึ่งถ้าใคร ไม่เคย เขียนโปรแกรมในรูปแบบ MVC หรือ Framework อื่น ๆ มาก่อน ก็อาจจะงง ได้ ว่า แล้วเราจะเขียนยังไง ซึ่งตรงนี้ต้องค่อย ๆ เรียนรู้กันไปครับ ใจเย็น ๆ ครับ พอเริ่มเข้าใจมันก็จะง่ายขึ้นเองครับ
โครงสร้าง Folder ของ CodeIgniter
เมื่อติดตั้งเรียบร้อยแล้ว เรามีดูโครงสร้าง Folder ของ CodeIgniter กันก่อนที่จะเริ่มลงมือเขียนครับ
ซึ่งส่วนที่เราจะทำงานด้วยจริง ๆ จะอยู่ที่ Folder application/ ดังภาพ
ในส่วนที่เราจะใช้งานกันเป็นประจำก็จะมี Folder controllers , models , views (เห็นมัยครับว่า มันก็คือ ตามหลักการของ mvc ที่ที่กล่าวไว้ข้างต้นเลยครับ)
หลักการใช้งาน Models Views Controller เบื้องต้น
การสร้าง Controller
ก่อนอื่น เรามาลองสร้าง Controller กันก่อนครับ สร้างไฟล์ Test.php เก็บไว้ที่ C:xampp/htdocs/CodeIgniter/application/controller/Test.php
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Test extends CI_Controller { public function index() { echo "This is default function."; } public function hello() { echo "This is hello function."; } }
การเรียกใช้งาน
http://localhost/codeigniter/index.php/test (หากไม่ระบุ method ระบบจะเรียก method index)
http://localhost/codeigniter/index.php/test/index
ผลการทำงานเมื่อเรียก method index
http://localhost/codeigniter/index.php/test/hello
ผลการทำงานเมื่อเรียก method hello
การสร้าง View
สร้างไฟล์ test.php เก็บไว้ที่ C:xampp/htdocs/CodeIgniter/application/view/test.php
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>CodeIgniter View Example</title> </head> <body> CodeIgniter View Example </body> </html>
คำสั่งในการเรียกใช้งาน view
$this->load->view('name');// name คือ ชื่อไฟล์ view ที่เราต้องการเรียก
การเรียกใช้งาน view นั้น เราจะเรียกใช้ใน Controller โดย เราจะใช้คำสั่งเรียกใช้งาน view ใน method ที่ต้องการ
ตัวอย่าง เรียกใช้งาน view ที่ method index ดังนี้
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Test extends CI_Controller { public function index() { $this->load->view('test'); } }
ผลการทำงาน URL : http://localhost/codeigniter/index.php/test/index
จะเห็นว่า เมือเรียกใช้งาน method index ใน Controller test จะแสดงข้อมูลที่เราสร้างไว้ใน views/test.php
การสร้าง Model
สร้างไฟล์ Test_model.php เก็บไว้ที่ C:xampp/htdocs/CodeIgniter/application/models/Test_model.php
<?php Class Test_model extends CI_Model{ Public function __construct(){ parent::__construct(); } public function getName(){ $name = array("Peter","John","May"); return $name; } } ?>
คำสั่งการเรียกใช้งาน model
ก่อนอื่น เราต้อง load model มาไว้ใน Controller ที่เราต้องการเรียกใช้ model ก่อน โดยใช้คำสั่ง
$this->load->model('model_name');
คำสั่งเรียกใช้งาน function หรือ method ใน model
$this->model_name->method();
ตัวอย่างการเรียกใช้งาน model และ การส่งค่าไปที่ view
ตัวอย่าง การ สร้าง function show ใน Controller ที่ชื่อ Test
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Test extends CI_Controller { public function index() { echo "This is default function."; } public function hello() { echo "This is hello function."; } public function show(){ //เรียกใช้งาน model test_model $this->load->model('test_model'); //เรียกใช้งาน function getName ใน test_model เก็บเป็น array ไว้ในตัวแปร $data $data['name'] = $this->test_model->getName(); //เรียกใช้งาน view โดยส่ง ค่าตัวแปร $data ไปแสดง ผลใน view ด้วย $this->load->view('show',$data); } }
สร้างไฟล์ show.php C:xampp/htdocs/CodeIgniter/application/views/show.php
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>CodeIgniter View Example</title> </head> <body> CodeIgniter View Example <?php //$name คือ ค่าตัวแปรที่รับมาจาก contoller foreach($name as $r){ echo "<p> - ".$r."</p>"; } ?> </body> </html>
ผลการทำงาน URL: http://localhost/codeigniter/index.php/test/show
สำหรับบทความนี้ ก็ขอจบการ แนะนำการ ติดตั้งและใช้งาน Codeigniter ไว้เพียงเท่านี้ไว้ตอนต่อไป เราจะไป จัดการกับฐานข้อมูล กันครับ