Long Live The King
ข้าพเจ้าไม่ได้มีพรสวรรค์พิเศษอะไร ข้าพเจ้าเพียงแต่มีความกระหายใคร่รู้อยู่เสมอ ทุ่มเทให้กับสิ่งที่อยากรู้ พากเพียรอย่างทรหด และสำรวจวิจารณ์ความรู้ของตัวเองเป็นประจำ ปัจจัยเหล่านี้คือที่มาของแนวคิดต่างๆ ของข้าพเจ้า .... อัลเบิร์ต ไอน์สไตน์

วันพฤหัสบดีที่ 14 พฤศจิกายน พ.ศ. 2556

CodeIgniter เฟรมเวิร์คสำหรับพัฒนาเว็บแอปพลิเคชั่น



CodeIgniter เป็นเฟรมเวิร์คสำหรับพัฒนาแอปพลิเคชั่น - เครื่องมือ - สำหรับคนที่ต้องการสร้างเว็บไซค์โดยใช้ PHP , จุดประสงค์หลักของ Codeigniter ก็คือทำให้คุณพัฒนาโครงการ เร็วกว่าที่คุยเคยเขียนมา โดยเฉพาะอย่างยิ่งถ้าคุณเคยเขียนโค้ดด้วยความยากลำบาก โดยมีไลบรารี่ต่างๆจัดเตรียมไว้สำหรับงานทั่วๆไปที่ ต้องการ และยังเข้าใช้ไลบรารี่เหล่านี้ได้อย่างง่ายดาย ยังไม่พอ CodeIgniter ยังทำให้คุณสามารถมุ่งเน้นไปที่ความ คิดสร้างสรรค์กับโครงงานของคุณ โดยลดจำนวนโค้ดที่ต้องการลง สำหรับงานทุกชิ้น....

เหตผลอย่างเดียวที่ผมเลือกเขียนบทความเกี่ยวกับ Codeigniter คือ คู่มือเพียบ พร้อมที่จะให้เราเรียนรู้ได้อย่างง่ายดาย..
ก่อนอื่นท่านก็ต้องไปดาวน์โหลดเฟรมเวิร์คตัวนี้มาก่อน http://codeigniter.com/user_guide/installation/downloads.html
สำหรับบทความนี้ผมขอใช้เวอร์ชั่น CodeIgniter V 2.1 ครับ

สร้าง folder ชื่อว่า ci ไว้เว็บ root ของท่าน
จากนั้นก็แตกซิบไฟล์ที่ดาวน์โหลดออกมาเอาเฉพาะ application, system, index.php ไปใส่ไว้ในโฟล์เดอร์ ci



แล้วทดลองรันดู http://localhost/ci/index.php ถ้าไม่ติดปัญหาอะไรท่านก็จะเห็นรูปนี้



ทีนี้ผมต้องการตัด  index.php ออกให้เหลือเฉพาะ http://localhost/ci ผมก็จะเพิ่มไฟล์อีกไฟล์หนึ่งชื่อ
.htaccess ในไฟล์นี้ก็จะมีโค้ดแบบนี้ 
RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA] 
เริ่มกำหนดค่าที่จำเป็นต่างๆ ให้ท่านเปิดเข้าไปที่โฟล์เดอร์ application/config/config.php
แก้ค่าต่างตามนี้
$config['base_url'] = 'http://localhost/ci';
$config['index_page'] = '';
$config['encryption_key'] = 'my_key';
เพียงเท่านี้ท่านก็สามารถเข้าเว็บได้ด้วย http://localhost/ci โดยไม่ต้องมี index.php อีกต่อไป

ให้ท่านเข้าไปที่ application/config/autoload.php เพื่อสั่งโหลด database, session แบบอัตโนมัติ
แก้ค่าต่างตามนี้
$autoload['libraries'] = array('database', 'session');
จากนั้นให้ท่านเข้าไปที่ application/config/database.php
กำหนดค่า database ของท่านลงไป
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '123';
$db['default']['database'] = 'ci';
สำหรับการตั้งค่าก็เพียงเท่านี้ก่อน ส่วนที่เหลือไว้ถึงตอนที่บทความเข้าไปเกี่ยวข้องก็ค่อยว่ากันไปตามนั้น
มีโฟล์เดอร์ด้วยกัน 3 โฟล์เดอร์ที่เราต้องทำความเข้าใจก่อนคือ  models, views, controllers
ซึ่งเป็นรูปแบบของสถาปัตยกรรมซอฟแวร์(software architecture) ที่มีการแบ่งแยกระบบออกเป็น 3 ส่วนหลักๆ
ได้แก่ data model, user interface, and control logic เรียกสั้นๆว่า MVC

M = Model,
V = View,
C = Controller

การทำงานร่วมกันของ MVC
Model เป็นส่วนของการติดต่อกับ database คอยจัดการกับข้อมูลเข้า-ออก ด้วยคำสั่งการประมวลผลภาษา SQL
View เป็นส่วนของการแสดงผลออกทาง web browser ซึ่งอยู่ในรูปแบบของภาษา HTML
Controller เป็นส่วนของการประสานงานระหว่าง user, model, view

เมื่อ User ร้องขอข้อมูลเข้ามา Controller ก็จะส่งคำร้องไปประมวลผลที่ Model แล้วส่งค่ากลับเพื่อให้ View นำไปแสดงต่อ User

ความเข้าใจแบบง่ายๆ คือ
เมื่อท่านนึกถึงฐานข้อมูล ก็ให้เขียนโค้ดที่ models
เมื่อท่านต้องการแสดงข้อมูลทาง web browser ก็ให้เขียนโค้ดที่ views
เมื่อท่านต้องการให้รับคำสั่งจาก user ก็ให้เขียนโค้ดที่ controllers

แต่(หมายเหตุ) การเชื่อมต่อกับฐานข้อมูลนั้นสามารถยืดหยุ่นกันได้ในทุกๆส่วนของการเขียนโปรแกรม....

สำหรับบทความนี้ก็ขอจบเพียงเท่านี้ก่อน ไว้เจอกันในบทความต่อไปครับ......

0 ความคิดเห็น:

แสดงความคิดเห็น

© Bookneo, AllRightsReserved.

ขับเคลื่อนโดย Blogger Designed by Nikhorn Thongchuay