ตัว Yii Framework 2 นั้นมี Tempalte (ไม่ใช่ Web template นะ มันหมายถึงโครงสร้างของไฟล์ และสคริปต์) อยู่ 2 แบบด้วยกันคือ Basic และ Advanced ซึ่งทั้ง 2 Template การเขียนคำสั่งเหมือนกันทุกอย่าง จะต่างกันแค่โครงสร้างของโฟลเดอร์ และไฟล์ และที่แตกต่างที่ชัดเจนคือ Advanced จะมีเว็บอยู่ 2 ที่คือ Frontend กับ Backend ส่วน Basic จะมีเว็บที่เดียว ซึ่งขึ้นอยู่กับผู้ที่จะพัฒนาเว็บเองว่าแบบใหนที่ตรงวัตถุประสงค์ของโปรเจ็คมากกว่ากันเช่น ทำเว็บแบบเสนอ content เฉยๆ ก็ควรเลือกแบบ Basic แต่ถ้าเป็นโปรเจ็คที่มีความซับซ้อน การจำกัดการเข้าถึงของ User หลายระดับ แบบนี้ก็ควรจะใช้ Advanced มากกว่า จากข้อแตกต่างข้างต้นจึงทำให้คำสั่งที่ไม่เหมือนกันระหว่าง Basic กับ Advanced ก็มีแค่การอ้างอิงที่อยู่ของ Class หรือไฟล์ในโฟลเดอร์เท่านั้นเอง คำสั่งที่เหลือก็เหมือนกัน
เอาหละในเมื่อเข้าใจข้อแตกต่างของ Template หระว่าง Basic กับ Advanced แล้ว ในบทความชุดนี้จะขอเลือกใช้แบบ Advanced แล้วกัน และจะขอนำเข้าไปสู่การติดตั้งด้วย Composer ดังนี้ (จริงๆ แล้วมีไกด์สำหรับการติดตั้งอยู่แล้วในเว็บไซต์ของ Yii Advanced Template ดูได้จากที่นี่
<< Click >> )
- สำหรับเครื่องที่ยังไม่เคยติดตั้ง Plugin fxp หรือเพิ่งติดตั้ง Composer ใหม่จำเป็นต้องติดตั้ง Plugin ตัวนี้ก่อน 1 ครั้ง ผ่านทาง Command หรือ Terminal หากเคยติดตั้งแล้วก็ข้ามไปข้อ 2 ได้เลย
> composer global require "fxp/composer-asset-plugin:^1.2.0" |
-
ใช้ Command หรือ Terminal เข้าไปที่ Web Root ของ Web Server ด้วยคำสั้ง cd แล้วใช้คำสั่งสร้างโปรเจ็คได้เลย
> cd c:\xampp\htdocs
> composer create-project --prefer-dist yiisoft/yii2-app-advanced yii-application |
สังเกตุคำว่า yii-application ที่เป็นสีแดงนั่นคือชื่อโฟลเดอร์โปรเจ็คของเรา ซึ่งสามารถเปลี่ยนให้เป็นชื่อที่เราต้องการได้ ขั้นตอนนี้เครื่องของเราจำเป็นที่ต้องเชื่อมต่อกับ Internet (หากไม่มีเน็ตก็ติดตั้งไม่ได้น๊ะ) และเมื่อสั่งรันคำสั้งไปแล้ว Composer จะทำการดาวน์โหลด Yii Advanced Template ลงในโปรเจ็คของเรา ขั้นตอนนี้อาจใช้เวลานานหน่อยอาจจะใช้เวลานาน 3-5 นาที หรือมากกว่านั้น ให้รออย่างเดียวจนกว่ามันจะเสร็จ (สังเกตุเมื่อเสร็จเราจะมีเคอร์เซอร์กระพริบสามารถพิมพ์คำสั่งลงใน Command หรือ Terminal ได้ แต่ไม่ต้องพิมพ์อะไรน๊ะ) เมื่อติดตั้งเสร็จแล้วอย่าเพิ่งปิด Command หรือ Terminal เราต้องใช้คำสั่งอื่นๆ เพื่อตั้งค่าต่างๆ ของโปรเจ็คให้เสร็จก่อน
- หากเครื่องของเรายังไม่เคยติดตั้ง Yii 2 มาก่อนระหว่างการโหลดไฟล์จะขึ้นให้กรอก Git Token ให้เราไปสร้าง Token จากเว็บไซต์ https://github.com/ โดยมีขั้นตอนดังนี้
- คลิกที่รูปโปรไฟล์ (อยู่มุมขวา-บน) >> Settings
- คลิ๊กเมนู Personal access tokens (อยู่ทางซ้าย)
- คลิกปุ่ม Generate new token
- ตั้งชื่อ token ตามต้องการ (อะไรก็ได้) และไม่จำเป็นต้องคลิ๊กเช็คออพชั่นไดๆ
- เลื่อนลงมาคลิ๊กปุ่ม Generate token (ปุ่มสีเขียวด้านล่าง)
- จะได้ชุดตัวอักษรมา 1 ชุด ให้ Copy ตัวอักษรชุดนี้แล้วไป Past ใน Command หรือ Terminal แล้วกดปุม Enter ตอน Past ใน Command / Terminal จะไม่แสดงข้อความที่ Past ไม่ต้องตกใจกด Enter ไปได้เลย หากกด Enter ไปแล้วยังขึ้นให้กรอก Token อีก แสดงว่าเราอาจลากคลุมข้อความก่อน Copy ไม่หมดหรือเกินมา ให้คลุมให้ครบแล้ว Copy - Past ใหม่
- ให้พิมพ์คำสั้ง cd เข้าสู่โปรเจ็คของเรา แล้วพิมพ์คำสั่งการตั้งค่าโหมด Devlopment หรือ Production
> cd yii-application
> php init #สำหรับ Windows, และ php ./init สำหรับ Mac OS X / Linux |
หลังจากนั้นจะขึ้นข้อความถามให้เลือกโหมด 0 = Devlopment หรือ 1 = Production ให้ตอบ 0 เนื่องจากเรายังอยู่ในขั้นตอนการพัฒนา
Yii Application Initialization Tool v1.0
Which environment do you want the application to be initialized in?
[0] Development
[1] Production
Your choice [0-1, or "q" to quit] 0 #<---- ตอบ 0
Initialize the application under 'Development' environment? [yes|no] yes #<---- ตอบ yes หรือ y |
สงสัยละสิ Development กับ Production ต่างกันยังไง ความหมายมันก็บอกอยู่แล้วคือ Development คืออยู่ในระหว่างหารพัฒนา ดังนั้นเวลาสคริปต์เกิด Error หรือ Warning มันก็จะแสดงข้อความ Error / Warning ออกมาให้กับเราได้ทราบ ส่วน Production คือนำไปใช้งานจริงแล้วจึงไม่ควรจะแสดง Error / Warning ให้ User เห็นอาจจะเป็นอันตรายกับโปรแกรมของเราได้เพราะข้อความ Error / Warning จะแสดง Full path หรือ โครงสร้าง ชื่อตาราง ฟิลด์ของฐานข้อมูลเลยทีเดียว หากผู้ไม่ประสงค์ดีเห็นเข้าโปรแกรมของเราก็อาจจะนำไปสู่การถูกโจมตีได้ สรุป 2 โหมดนี้คือ Development โชว์ Error / Warning ส่วน Production ไม่โชว์ จอบอ.
ถึงตอนนี้การติดตั้งก็เป็นอันเสร็จเรียบร้อยแล้ว เราลองไปรันหน้าเว็บกันดูหน่อย อย่างที่ได้กล่าวไว้ข้างต้นว่า Advanced template มีเว็บอยู่ 2 ที่ด้วยกันคือ Frontend และ Backend เราลองมารันทีละเว็บกัน
- Frontend ที่ http://localhost/yii-application/frontend/web/
- Backend ที่ http://localhost/yii-application/backend/web/
ถ้าได้หน้าจอตามนี้แสดงว่าการติดตั้งของเราเสร็จสมบูรณ์พร้อมที่จะให้เราเขียนโปรแกรมได้เลย
ไม่มีความคิดเห็น:
แสดงความคิดเห็น