หลังจากเราติดตั้ง Yii framework ไปเรียบร้อยแล้ว สิ่งที่เราต้องทดลองทำเป็นอย่างแรก คือ สร้าง Controller ด้วยของเราเอง
ในการที่จะแสดงหน้าเพจ สักหนัาหนึ่งบน Yii Framework เราจะต้องสร้างไฟล์ที่เป็น controller หลังจากนั้น ก็กำหนด method ที่เป็น action เพื่อทำงานอะไรสักอย่าง จากนั้น ก็ส่งผลลัพธ์ไปแสดงที่ view
หากเราจะสร้างเอง ก็สามารถทำได้ แต่ จะต้องทำตามที่ Yii เขากำหนดมา นั่นก็คือ
สร้างไฟล์ controller โดยชื่อนำหน้าไฟล์ XXXcontroller.php จะเป็น controller id ในที่นี้คือ XXX และต้องสร้างไฟล์ไว้ใน /protected/controllers/
จากนั้นเขียน method ภายในไฟล์นี้ โดย method ต้องมีชื่อรูปแบบ public function actionYYY(){......} ซึ่ง YYY คือ action id
จากนั้นจะต้องไปสร้่างไฟล์ที่เอาไว้แสดงผล หรือ render ข้อมูล ในที่นี้ผมเรียกว่า view file ก็แล้วกัน โดยจะต้องมีชื่อสอดคล้องกับที่กำหนดใน method render และจะต้องสร้างไว้ใน folder ที่ชื่อเดียวกันกับ Controller id (ในที่นี้คือ XXX)ที่อยู่ภายในโฟวเดอร์ /views/ อีกที ดังนั้น จะได้ path folder /views/XXX นั่นเอง
สรุปว่าใน actionYYY จะเป็นรูปแบบนี้
public function actionYYY()
{
this->render('ชื่อ view file')
}
เวลาที่เราเรียกใช้งาน ก็จะเป็นรูปแบบนี้
http://localhost/myweb/index.php?r=XXX/YYY
โดยที่
r หมายถึง route หรือเส้นทางที่จะเป็นตัวบอกให้ controller เข้ามารับงานไปทำ
XXX คือชื่อ Controller id
YYY คือชื่อ action id
ซึ่งทั้งหมดนี้ เป็นขั้นตอนพื้นฐานเพื่อให้ได้หน้าเว็บ 1 หน้า ดูเหมือนจะเยอะ แต่ในแง่การพัฒนา และบำรุงรักษาโค๊ด ผมว่า Yii framework เขาทำไว้ดีแหละ
ประเด็นของหัวข้อนี้ ผมอยากจะบอกว่า มีวิธีในการสร้างหน้าเว็บบน Yii ได้เร็ว กว่าการสร้่างไฟล์ทั้งสอง สามไฟล์ โดยมีรูปแบบตามที่ผมได้บอกไว้แล้วข้างต้น ด้วยการใช้ Yiic.bat ครับ (สำหรับ Linux เราจะใช้ไฟล์ Yiic.php) ซึ่งจะทำกันบน command line console ครับ
อันดับแรกก็เปิด command line console ของเราก่อน แล้วก็เข้าไปที่ directory ทีเก็บโปรเจค yii ของเรา ในที่นี้ สมมติว่าชื่อ train ผมเก็บไว้ที่ D:\www\
cd D:\www\train
พอเราเข้าไปแล้ว ก็ให้เรียก yiic.bat ที่อยู่ใน /framework/ ภายใต้ yii directory ที่เก็บ framework ในที่นี้ ผมเก็บไว้ที่ yii-1.1.14
D:\www\train>D:\www\yii-1.1.14\framework\yiic shell
เราจะอยู่ใน shell ของ yii สังเกตว่า prompt จะเปลี่ยนไป
ต่อมาเราจะมาสร้าง controller สำเร็จรูปกันเลยครับ ด้วยคำสั่ง
controller [controller id] [action id]
ดังนั้น หากผมต้องการสร้าง controller id = message และ action id ที่ชื่อ helloworl จะได้
ลองเช็คดูในโปรเจคใน Netbean เราจะเห็นไฟล์ถูกสร้างขึ้นมา
ลองเรียกหน้าเว็บ http://localhost/train/index.php?r=message/helloworld ดูครับ
มันจะง่าย และชัวร์กว่า วิธีสร้างเอง นอกจาำกนี้ยังสามารถสร้าง model form module อื่นๆ ได้อีก ลองพิมพ์ help ที่ shell ของมันครับ
0 ความคิดเห็น:
Post a Comment