ความเดิมตอนที่แล้ว

เริ่มต้นสำหรับใครที่เข้ามาอ่านบทความนี้เป็นครั้งแรกให้ทำการติดตั้งสภาพแวดล้อมในการพัฒนาระบบให้เรียบร้อยก่อน โดยดูได้จากบทความก่อนหน้านี้ https://www.bigdata.rmutt.ac.th/?p=1647

Install Yii2 project

ขั้นตอนแรกสุดให้เปิด command line ขึ้นมา และเปลี่ยน directory ไปที่ C:\xampp\htdocs ด้วยคำสั่ง

cd C:\xampp\htdocs

จากนั้นให้ติดตั้ง Yii2 project ด้วยคำสั่ง composer ต่อไปนี้ โดยข้อความด้านขวาสุดจะเป็นชื่อของโปรเจคเรา เช่น “my_app” เป็นต้น (เครื่องเราต้องต่ออินเทอร์เน็ตด้วยนะครับ)

composer create-project --prefer-dist yiisoft/yii2-app-advanced my_app

จากนั้นระบบจะทำการสร้าง skeleton ของโปรเจคให้เราโดยอัตโนมัติ และดึงข้อมูลล่าสุดของ Yii2 มาให้เราดังรูป จากนั้นรอจนเสร็จสิ้นกระบวนการนี้

ถ้าไม่อยากใช้คำสั่งดังกล่าว เราสามารถดาวน์โหลดไฟล์จาก Archive File ได้จาก https://www.yiiframework.com/download โดยเลือก Yii 2 with advanced application template และแตก zip ตั้งชื่อโฟลเดอร์เป็นชื่อโปรเจค นำไปวางไว้ที่ C:\xampp\htdocs ได้เหมือนกัน

**กรณีถ้าต้องการใช้ version ของ Yii2 เป็น version ที่ต้องการให้ระบุเวอร์ชันตามไปด้วย เช่น version ที่ผมใช้อยู่ตอนเขียนเอกสารฉบับนี้จะเป็น 2.0.45 ดังนั้นสามารถระบุได้ดังนี้

composer create-project --prefer-dist yiisoft/yii2-app-advanced my_app 2.0.45

หรือ สามารถดาวน์โหลดได้จากไฟล์ที่ผมเตรียมไว้ให้ดังนี้ https://mailrmuttac-my.sharepoint.com/:u:/g/personal/pongpon_n_rmutt_ac_th/EYZET27QDDNBugsqFeYNfCIBNL2k8BnvKluWrcaT-g1ugg?e=Lgx7zw

โดย ล่าสุดเวอร์ชัน 2.0.46 ได้มีการใช้ Bootstrap5 แล้ว แต่เวอร์ชัน 2.0.45 จะใช้ Bootstrap4 อยู่ ดังรูปด้านล่าง ทั้งนี้เวอร์ชันใหม่อาจต้องการ PHP version 8 เป็น default ดังนั้นเราต้องเลือกเวอร์ชันให้เหมาะกับสภาพแวดล้อมเราด้วย

เมื่อเสร็จสิ้นแล้วให้ลองเปิดไปที่ C:\xampp\htdocs\my_app เราจะต้องเห็นโครงสร้างโปรเจคที่ถูก gen ออกมาเป็นไฟล์และโฟลเดอร์ต่าง ๆ

การ Initial Project

การ initial project คือ การกำหนดค่าเริ่มต้นให้กับ project ของเราว่า จะมีการ deploy อย่างไร ซึ่งปกติจะมีให้เลือก 2 โหมด คือ development และ production โดยสามารถกำหนดค่าได้ดังนี้

จาก command line ที่เราได้เปิดไว้ ให้ทำการย้าย directory ไปยัง C:\xampp\htdocs\my_app สามารถใช้คำสั่ง

cd C:\xampp\htdocs\my_app

และทำการ init project ดังนี้

php init

ถ้าได้ตามปกติแล้ว ระบบจะขึ้นมาถามเราว่า ต้องการ init ในโหมดใด สำหรับคนที่ลองรันคำสั่งแล้วไม่ได้ อาจลองใช้คำสั่ง .\init หรือ php .\init แทน (เป็นไปได้ว่าอาจรันผ่าน bash terminal อยู่)

ปกติถ้าเราต้องการพัฒนา project ใหม่ เราจำเป็นต้องทำในเครื่องเราก่อน เพราะฉะนั้นให้เราใช้โหมด development เนื่องจาก error message ต่าง ๆ จะถูกเปิดในขณะที่กำลังพัฒนา ซึ่งเหมาะกับการแก้ไขปัญหาต่าง ๆ ได้ง่าย แต่ถ้าเป็น โหมด production พวก error message ต่าง ๆ จะถูกปิดไป เพื่อลดช่องโหว่สำหรับผู้ไม่ประสงค์ดีทั้งหลาย ดังนั้นให้เราเลือกเป็นโหมด development (เลือกตอบ 0) หลังจานั้นให้ตอบ yes เพื่อสร้างไฟล์ config ต่าง ๆ ขึ้นบน local ของเรา เพื่อไม่ให้เสียเวลา 🙂 ตอบ yes ไปเรื่อย ๆ ได้เลย จะได้ไฟล์ที่ระบบ generate ให้ตามรูปด้านล่าง

สังเกตว่าไฟล์ส่วนมากที่ถูก generate ขึ้นมาจะมีคำว่า local ต่อท้าย เนื่องจากการ config ในแต่ละเครื่องจะไม่เหมือนกัน เช่น หากอยู่บนเครื่องเราเอง database name, username, หรือ password อาจเป็นอีกแบบหนึ่ง แต่บน server อาจเป็นอีกรูปแบบหนึ่ง โดยเฉพาะ password เป็นต้น ดังนั้นไฟล์เหล่านี้โดย default จะถูก ignore ในระบบ Git ดังนั้นการนำ project ไป deploy ที่ server โดยผ่าน Git clone จำเป็นต้อง init project ใหม่ในตอนแรกสุดเสมอ (Git คือ Version Control ที่ใช้ในการพัฒนา Software ช่วยเก็บรักษาไฟล์ สามารถติดตามการเปลี่ยนแปลงของไฟล์ได้ รวมทั้งสามารถย้อนกลับไปยัง Version ต่าง ๆ ได้ https://git-scm.com/)

เมื่อได้ไฟล์ดังกล่าวแล้ว ให้ทดสอบเข้าสู่ระบบดังนี้

จะปรากฏหน้าจอแรกสุดดังภาพ Congratulations! 🙂 🙂 🙂

ตอนนี้เราได้หน้าแรกของระบบทั้ง backend และ frontend แล้ว ขั้นตอนต่อไป เดี๋ยวเรามาเรียนรู้หลักการของ Routing, Controller และ Action บน Controller