Yii : ทำความรู้จักกับ Yii Framework for php
หน้าแรก PHP MySQL เกร็ดความรู้ Yii : ทำความรู้จักกับ Yii Framework for php
Quote
Yii อ่านว่า Yee หรือ ji แต่ผมอ่านว่า ยี้
Yii เป็น
- MVC framework ที่สร้างด้วยภาษา PHP
- ตามเอกสารบอกว่าเหมาะสำหรับการพัฒนาระบบงานขนาดใหญ่
- ทำให้พัฒนาได้เร็ว
- ประสิทธิภาพการทำงานดี ซึ่งอ้างจาก Benchmark นี้
- Yii ย่อมาจาก Easy, Efficient และ Extensible
- สนับสนุน OOP
- ใช้ PHP 5.1.0 ขึ้นไป
- Component-Based / Event-Based framework
จากเอกสารบอกว่า Yii เหมาะสำหรับการพัฒนาระบบดังนี้
- ระบบที่มีผู้ใช้งานเยอะๆ เช่น CMS, e-Commerce , Portal, Webboard, Blog เป็นต้น
ลองใช้งาน Yii ขั้นพื้นฐานกันดู มีขั้นตอนดังนี้
1. ทำการ Download Yii โดยผมใช้ version 1.1.1
2. ทำการ extract ไว้ใน www root ที่กำหนดไว้ โดยจากตัวอย่างผมเก็บไว้ที่ c:wwwyii
3. โครงสร้างของ folder นั้นประกอบไปด้วย
- demo => ตัวอย่างระบบงาน
- framework => framework ของ Yii
- requirements => เป็นการตรวจสอบความต้องการของ Yii ว่าครบหรือไม่
4. ไปที่ url => http://localhost/yii/requirements/ แล้วจะแสดงข้อมูลการตรวจสอบดังรูป
ถ้าไม่มี error หรือ สีแดงก็แสดงว่า environment ที่เครื่อง สามารถใช้งาน Yii ได้
ปล. เมื่อใช้งานจริงให้ทำการลบ folder นี้ออกไปได้เลย
5. หลังจากนั้นให้ไปลองที่ folder demo จะเห้นว่ามีมีอยู่ 4 ตัว ... ซึ่งเป็นช่องทางหนึ่งสำหรับการศึกษาชั้นดีครับ
ต่อมา เราลองมาสร้าง Application ด้วย Yii กันดีกว่าว่าทำได้อย่างไร และมีขึ้นตอนอย่างไรบ้าง
5.1. สร้าง application หรือ project ซึ่งมี 2 แบบคือ
5.1.1 ทำการ copy จาก demo แล้วมาแก้ไข
5.1.2 ทำการสร้างด้วยเครืองมือ yiic ที่ Yii เตรียมไว้ให้ ดังนี้
>cd c:wwwyiiframework
>yiic webapp c:wwwyiidemo1
เป็นการสร้าง project/application ไปไว้ที่ c:wwwyiidemo1 โดยจะมีโครงสร้างดังรูป
5.2. เข้าใช้งานตาม url นี้ http://localhost/yii/demo1/ จะแสดงผลดังรูป
5.3. สังเกตว่า url ที่ออกมายังไม่สวยงาม ดังนี้
- http://localhost/yii...hp?r=site/index
- http://localhost/yii...page&view=about
- http://localhost/yii...?r=site/contact
- http://localhost/yii...hp?r=site/login
โดยผมต้องการเปลี่ยนให้สวยงาม เป็นไปในลักษณะของ /<controller name>/<action name>/<parameters> ซึ่งเราสามารถแก้ไขได้ดังนี้
-5.3.1 แก้ไข file /demo1/protected/config/main.php ดังนี้
- เอา comment ของ urlManager ออกแล้วเพิ่ม showScriptName => false เข้าไปดังนี้
'urlManager'=>array(
'urlFormat'=>'path',
'showScriptName' => false,
'rules'=>array(
'<controller:w+>/<id:d+>'=>'<controller>/view',
'<controller:w+>/<action:w+>/<id:d+>'=>'<controller>/<action>',
'<controller:w+>/<action:w+>'=>'<controller>/<action>',
),
),
5.3.2 ทำการสร้าง file .htaccess ใน folder /demo1 ดังนี้
Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on
# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward it to index.php
RewriteRule . index.php
เมื่อทำการ config ทั้งสองขั้นตอนเรียบร้อยแล้ว ลองเข้าไปในงานใน url http://localhost/yii/demo1/ อีกครั้งจะพบว่า url จะสวยงามยิ่งขึ้น ดังนี้
- http://localhost/yii/demo1/site/index
- http://localhost/yii...page?view=about
- http://localhost/yii...o1/site/contact
- http://localhost/yii/demo1/site/login
6. ในส่วนของ database กันบ้าง สามารถกำหยดการติดต่อไปยัง database ได้ที่ file /demo1/protected/config/main.php ดังนี้
- เอา comment ในส่วน db ออก ดังนี้
'db'=>array(
'connectionString' => 'mysql:host=localhost;dbname=mytest',
'emulatePrepare' => true,
'username' => 'username',
'password' => 'password',
'charset' => 'utf8',
),
เพียงเท่านี้ก็สามารถเริ่มใช้งาน Yii ได้แล้วนะครับ โดยส่วนอื่นๆ ที่ยังต้องดูต่อไปทั้งการเขียน View, Controller, Model และส่วนอื่นๆ อีกมากมายครับ
ขึ้นไปด้านบน
