Upload
lexuyen
View
221
Download
3
Embed Size (px)
Citation preview
การพฒนาเวบแอพพลเคชนดวย Yii Framework 2 เลมท 1เอกบณ ใจแกวมา (Max) | บรษท ไดรฟซอฟท (DRIVESOFT) จ�ากด
การพฒนาเวบแอพพลเคชนดวย Yii Framework 2 เลมท 1 (Basic)Web Application Development with Yii Framework Volume 1 (Basic)
เรยบเรยงโดย เอกบณ ใจแกวมา (Eakkabin Jaikeawma)
ปรบปรงครงท 2 มนาคม 2559
ขอมลหนงสอ
เนอหา : เหมาะส�าหรบผเรมตนศกษา Yii Framework 2 (มอใหม)
ค�าอธบาย : ตดตงอปกรณ/เครองมอทจ �าเปน ดาวโหลดและตดต ง Yii Framework 2 ดวยวธตาง ๆ อธบายวธ
การท�างาน วธการใชงานเบองตน วธการใชเครองมอ Gii Generator สรางฟอรมรบ-สงขอมล ตวอยางการเชอม
ตอฐานขอมลดวย Model ปดทายดวย Workshop ระบบจดการปฏทนออนไลน เปนตน
จ�านวน : 198 หนา
สงวนลขสทธตามพระราชบญญตลขสทธ พ.ศ. 2537
หามลอกเลยนไมวาสวนใดสวนหนงของหนงสอเลมน ไมวารปแบบใด ๆ
เวนแตไดรบอนญาตเปนลายลกษณอกษรจากผเรยบเรยงเทานน
จดพมพและจดจ�ำหนำยโดย
บรษท ไดรฟซอฟท จ�ากด
122 หม 2 ต�าบลเสรมซาย อ�าเภอเสรมงาม
จงหวดล �าปาง รหสไปรษณย 52210
ขอมลตดตอ
E-Mail : [email protected]
Facebook : https://www.facebook.com/drivesoftcenter
Facebook Group : https://www.facebook.com/groups/drivesoftcenter/
Website : https://drivesoftcenter.net, https://drivesoft.co
ราคา 320 บาท
การพฒนาเวบแอพพลเคชนดวย Yii Framework 2 เลมท 1เอกบณ ใจแกวมา (Max) | บรษท ไดรฟซอฟท (DRIVESOFT) จ�ากด
ค�ำน�ำ
เอกบณ ใจแกวมำ
ผเขยน / เรยบเรยง
ก
หนงสอ การพฒนาเวบแอพพลเคช นดวย Yii Framework 2 เลมท 1 มเนอหาทเนนพนฐานเบองตนของ
ระบบ Yii Framework 2 ทเราจ�าเปนตองเรยนรไว เพอสามารถน�ามาใชงานไดงาย ๆ เพราะจากประสบการณท
พบเจอนกพฒนาเวบแอพพลเคช นหลายคน มกจะใหความส�าคญกบค�าวาพนฐานนอยเกนไปซงสงผลกระทบตอ
การแกไขปญหา กรณพบเจอปญหาของระบบทเกด Error แตหากเราเขาใจระบบพนฐาน เขาใจล �าดบข นตอนการ
ท�างานของระบบ เราจะเขาใจถงข นตอนกระบวนการท�างาน วธการใชงานเบองตนของระบบ Yii PHP Frame-
work จะสามารถท�าใหเราวเคราะหวธแกไขปญหาเหลานนไดอยางรวดเรวมากขน
สงทจะไดจากหนงสอการพฒนาเวบแอพพลเคช นดวย Yii Framework 2 เลมท 1 น จะเรมตนดวยตดต ง
อปกรณ / เครองมอทจ �าเปน ข นตอนการดาวโหลดและตดต ง Yii Framework เวอรช น 2 ดวยวธตาง ๆ ไมวา
จะเปน การดาวโหลดไฟลตดต งโดยตรงหรอตดต งผาน Composer เรยนรวธการท�างาน วธการใชงานระบบตาง
ๆ เบองตน วธการใชงานเครองมอ Gii Code Generator Tool รวมไปถงวธการ สรางฟอรมรบ - สงขอมล วธ
การรบคาขอมลตาง ๆ จากฟอรมเขามาประมวลผลและบนทกขอมลลงฐานขอมล บทตอไปเปนตวอยางการเชอม
ตอฐานขอมลดวย Model เชน ค�าส งส �าหรบการเพม, ลบ, แกไข หรอ คนหา พรอมแนะน�าวธการใชงานคลาสเดน
ๆ ของ Yii Framework 2 ทใชส �าหรบการแสดงผล เสรมดวยเทคนคตาง ๆ ทเราควรเรยนร สดทายปดทายดวย
Workshop ระบบจดการปฏทนออนไลน อยางงาย เปนตน
การพฒนาเวบแอพพลเคชนดวย Yii Framework 2 เลมท 1เอกบณ ใจแกวมา (Max) | บรษท ไดรฟซอฟท (DRIVESOFT) จ�ากด
สารบญ
หวเรอง หนา
ค�ำน�ำ
สำรบญ
บทน�ำ
Chapter 01 เตรยมควำมพรอม อปกรณ / เครองมอ
ดาวโหลดและตดต ง XAMPP Web Server เวอรช น 5.5.24
ตงคาโปรแกรม XAMPP เวอรช น 5.5.24
ข นตอนการก�าหนดรหสผาน (Password) ใหม
ดาวโหลดและตดต งโปรแกรม NetBeans IDE เวอรช น 8.0.2
Composer เวอรช น 1.0.0-alpha10
วธการสมครสมาชกเวบไซต GitHub.Com
Chapter 02 ดำวโหลดและตดตง Yii Framework เวอรชน 2.0.7
ความหมายของค�าวา Framework
Yii Framework เวอรช น 2.0.7
ความแตกตางระหวาง Yii Framework เวอรช น 1.1 กบ 2.0
Namespace คออะไร และ ใชงานอยางไร
การดาวโหลดและตดต งค ง Yii Framework เวอรช น 2.0.7
การดาวโหลดและตดต งผาน Composer แบบ Basic Template
การดาวโหลดและตดต งผาน Composer แบบ Advanced Template
การดาวโหลดและตดต งไมผาน Composer แบบ Basic Template
การดาวโหลดและตดต งไมผาน Composer แบบ Advanced Template
ก
ข
ง
1
2
9
11
14
22
27
31
32
33
34
35
37
37
41
47
52
ข
การพฒนาเวบแอพพลเคชนดวย Yii Framework 2 เลมท 1เอกบณ ใจแกวมา (Max) | บรษท ไดรฟซอฟท (DRIVESOFT) จ�ากด
Chapter 03 เรมตนใชงำน Yii Framework เวอรชน 2.0.7
โครงสรางเวบแอพฯ ทจ �าเปนตองร แบบ Basic Template
โครงสรางเวบแอพฯ ทจ �าเปนตองร แบบ Advanced Template
การตงคาระบบตามแบบ Basic Template
การตงคาระบบตามแบบ Advanced Template
กระบวนการท�างานของ Yii Framework 2.0 แบบ Basic Template
กระบวนการท�างานของ Yii Framework 2.0 แบบ Advanced Template
เรมตนสรางหนาเวบ Hello World
สงทตองพจารณากอนสรางหนาเวบไซตใหม
สวนประกอบตาง ๆ เกยวการสรางหนาเวบไซตใหม
เปดใชงาน Router บน Yii Framework 2 แบบ Basic Template
เปดใชงาน Router บน Yii Framework 2 แบบ Advanced Template
วธใชงาน Request บน Yii Framework เวอรช น 2.0
วธใชงาน Session บน Yii Framework เวอรช น 2.0
วธใชงาน Cookie บน Yii Framework เวอรช น 2.0
ไฟล Controller คออะไร
ไฟล Model คออะไร
ไฟล View คออะไร
Chapter 04 วธใชงำน Gii Code Generator Tool
Gii Code Generator Tool
วธการสรางไฟล Model ดวย Gii Generator
สรางไฟล Model เบองตน
ก�าหนด Attribute ใหกบเมธอด Rules ใน Model
สรางไฟลระบบ CRUD (Create-Read-Update-Delete)
สรางไฟล Controller เบองตน
สรางไฟล Form เบองตน
สรางระบบ Module เบองตน
59
60
62
65
67
69
69
70
71
72
73
74
77
80
83
86
89
91
93
94
95
96
99
102
106
108
111
การพฒนาเวบแอพพลเคชนดวย Yii Framework 2 เลมท 1เอกบณ ใจแกวมา (Max) | บรษท ไดรฟซอฟท (DRIVESOFT) จ�ากด
Chapter 05 กำรใชงำนเกยวกบฟอรมรบ - สงขอมล
สรางไฟล Model จ�าลอง
สรางไฟล Controller ส�าหรบทดสอบ
ตวอยาง : การสราง Textbox ของ ActiveForm
ตวอยาง : การสราง TextArea ของ ActiveForm
ตวอยาง : การสราง Password ของ ActiveForm
ตวอยาง : การสราง HTML5 E-Mail ของ ActiveForm
ตวอยาง : การสราง Single File Upload ของ ActiveForm
ตวอยาง : การสราง MultiFile Upload ของ ActiveForm
ตวอยาง : การสราง Checkbox ของ ActiveForm
ตวอยาง : การสราง CheckboxList ของ ActiveForm
ตวอยาง : การสราง Radio ของ ActiveForm
ตวอยาง : การสราง RadioList ของ ActiveForm
ตวอยาง : การสราง ListBox ของ ActiveForm
ตวอยาง : การสราง DropDown List ของ ActiveForm
ตวอยาง : การสราง Submit Button ของ ActiveForm
การรบคาจากฟอรมรบ - สง ขอมลภายในไฟล Controller
การใชงาน Validation ในไฟล Model
ตวอยาง : ตรวจสอบขอมลเกยวกบ “ขอความ”
ตวอยาง : ตรวจสอบขอมลเกยวกบ “ตวเลข”
ตวอยาง : ตรวจสอบขอมลเกยวกบ “อเมล”
ตวอยาง : ตรวจสอบขอมลเกยวกบ “URL”
ตวอยาง : ตรวจสอบขอมลเกยวกบ “คาวาง”
Chapter 06 กำรเชอมตอฐำนขอมล พรอมตวอยำงกำรใชงำน
การเชอมตอฐานขอมล พรอมตวอยางการใชงาน
ตารางฐานขอมลใหม ชอวา “tbl_users”
ไฟล Model ใหม ชอวา “TutorialUser.php”
115
115
117
118
118
118
119
119
129
120
120
120
121
121
121
122
122
123
124
124
124
125
125
127
128
129
129
การพฒนาเวบแอพพลเคชนดวย Yii Framework 2 เลมท 1เอกบณ ใจแกวมา (Max) | บรษท ไดรฟซอฟท (DRIVESOFT) จ�ากด
ตวอยาง : ดงขอมลออกมาท งหมด
ตวอยาง : เพมขอมลใหม
ตวอยาง : แกไขขอมล
ตวอยาง : ลบขอมล
Chapter 07 กำรแสดงผลในรปแบบตำง ๆ
วธการใชงาน CGridView Widgets
การปรบแตงตาราง GridView แบบพนฐาน
ตวอยาง : การใชงานค�าส ง ส �าหรบดงขอมลเกยวกบ URL
ตวอยาง : การใชงานค�าส ง Yii ส�าหรบดงขอมลเกยวกบ Controller
ตวอยาง : การใชงานค�าส งคลาส Yii ส�าหรบดงขอมลเกยวกบ Path, Url
ตวอยาง : การใชงานค�าส ง Yii ส�าหรบดงขอมลเกยวกบ Server
ตวอยาง : การใชงานค�าส ง Yii ส�าหรบดงขอมลเกยวกบ Request
ตดต ง mPDF บน Yii Framework เวอรช น 2.0.4
วธการสราง Class Widgit ใชงานเอง
การตดต ง Extension เสรมลงบนเวบแอพพลเคช น
Chapter 08 เทคนคเสรมทจ�ำเปนตองรบน Yii Framework 2.0.4
การจดการ URL แบบสวยงาม (Url Manager)
ลบค�าวา index.php ออกจาก URL
การสราง Virtual Host บน XAMPP ส�าหรบ BasicTemplate
การสราง Virtual Host บน XAMPP ส�าหรบ Advanced Template
วธการสรางและเรยกใชงาน Template บน Yii Framework เวอรช น 2.0.4
แนะน�าวธการ Update Version ของ Yii Framework เวอรช น 2.0
วธใชงานระบบ Access Control ของ Yii Framework เวอรช น 2.0
สรางไฟล Components ส�าหรบ BasicTemplate
สรางไฟล Components ส�าหรบ Advanced Template
130
135
136
138
141
142
146
149
149
150
151
151
152
154
155
157
158
159
160
162
164
166
167
169
171
การพฒนาเวบแอพพลเคชนดวย Yii Framework 2 เลมท 1เอกบณ ใจแกวมา (Max) | บรษท ไดรฟซอฟท (DRIVESOFT) จ�ากด
Chapter 09 Workshop ระบบจดกำรปฏทนออนไลน
ระบบจดการปฏทนออนไลน
สรางเวบแอพพลเคช นใหมดวย Composer ชอวา “yii2_calendar”
สราง Virtual Host ส�าหรบเวบแอพพลเคช นใหม
ต งคาขอมลพนฐานเบองตน เชน การตงคาฐานขอมล
ออกแบบและสรางฐานขอมล
สรางไฟล Model แบบ Manual
เรมตนพฒนาระบบจดการปฏทนออนไลน
ปรบแตงไฟล Layouts
ปรบแตงระบบลอกอนเขาสระบบ
สรางหนาบนทกขอมลปฏทนออนไลน
ตดต ง Widget เสรมชอวา “datepicker\DatePicker”
สรางหนาแสดงขอมลปฏทนออนไลน
หนาแสดงขอมลปฏทนออนไลน แบบประจ�าป
หนาแสดงขอมลปฏทนออนไลน แบบประจ�าเดอน
173
174
175
175
177
177
178
180
180
182
185
187
188
198
198
ฆ
การพฒนาเวบแอพพลเคชนดวย Yii Framework 2 เลมท 1เอกบณ ใจแกวมา (Max) | บรษท ไดรฟซอฟท (DRIVESOFT) จ�ากด
บทน�ำ
ในการพฒนาเวบแอพพลเคช นดวยภาษา PHP เราจ�าเปนตองรจกค�าวา PHP OOP (Object-Oriented
Programming) และ PHP MVC (Model-View-Controller) โดยท งหมดนมอยใน PHP Framework ในป
ปจจบน การเขยนเวบแอพพลเคช นดวย PHP Framework จะเขามาชวยในการพฒนาเวบแอพพลเคช นดวย
ภาษา PHP ใหเสรจเรวขนนนเอง
โดย PHP Framework ไดถกพฒนาจากกลมนกพฒนาซอฟแวรรวมตวกนพฒนาขนมาดวยจดประสงค
คอ การชวยใหการพฒนาเวบแอพพลเคช นใหงานเสรจไดอยางรวดเรว โดยทเราไมตองไปสรางฟงกช นอะไรเพม
เตมเพราะสวนใหญแลว PHP Framework จะสรางฟงกช นทจ �าเปนเตรยมไวใหเราเรยกใชงานแลว หรอ เราเองก
ยงสามารถสรางฟงกช นใหมขนมาตามทเราตองการกไดอกเชนกนซง PHP Framework น จะอยในรปแบบของ
Code PHP ซงเหมาะส�าหรบนกพฒนาเวบแอพพลเคช นทชอบการเขยน Code โดยตรง
ส�าหรบ Yii Framework เวอรช น 2.0.7 (เวอรช นปจจบน) ไดมการออกแบบและพฒนาระบบคณสมบต
ใหม (เพมเตม) จากเวอร 1.1.17 ออกมามากพอสมควร ไมวาจะเปนระบบ Route ทฉลาดเพมมาขน วธใชงาน
Access Control Panal ทใชงานไดงายขน ระบบการท�างาน Model ซบซอนมากข น ตรวจสอบดขนทส �าคญ
สนบสนนเวอรช น PHP เรมตนดวย 5.4 เปนตนไป พรอมปรบแตงการท�างานของ ActiveForm และ GridView
ใหมความสามารถพเศษตาง ๆ มากมาย
ใครเหมาะทจะอานหนงสอเลมน
เหมาะส�าหรบนกพฒนาเวบแอพพลเคช นทก �าลงสนใจการพฒนาเวบแอพพลเคช นดวย Yii Framework 2
ซงหนงสอเลมน จะมอบสงทตองการให Yii Framework 2 คอและคมอการใชงานระบบตาง ๆ ไดจากเนอหาใน
หนงสอเลมน
จ
การพฒนาเวบแอพพลเคชนดวย Yii Framework 2 เลมท 1เอกบณ ใจแกวมา (Max) | บรษท ไดรฟซอฟท (DRIVESOFT) จ�ากด
เนอหาทหนงสอเลมนครอบคลม
ตอไปจะเปนเนอหาทมท งหมดในหนงสอเลมน
Chapter 01 เตรยมความพรอม อปกรณ / เครองมอ
เรยนรข นตอนการดาวโหลดตดตงซอฟแวรเครองมอ เชน XAMPP, Netbeands IDE
Chapter 02 ดาวโหลดและตดตง Yii Framework เวอรชน 2.0.7
ดาวโหลดและตดต ง Yii Framework 2 แบบดาวโหลดไฟลตดต งเอง หรอ ตดต งผาน Composer
Chapter 03 เรมตนใชงาน Yii Framework เวอรชน 2.0.7
หลกการท�างานของระบบตาง ๆ เคลดลบการตงชอไฟล Controller, View เปนตน
Chapter 04 วธใชงาน Gii Code Generator Tool
อธบายวธการใชงาน Gii Code Generator ในการสรางไฟลระบบ (Code) ส�าเรจรปออกมา
Chapter 05 การใชงานเกยวกบฟอรมรบ - สงขอมล
ตวอยางการสรางฟอรม รบ - สงขอมล และวธการรบคาขอมลจากฟอรมเขามาประมวลผล
Chapter 06 การเชอมตอฐานขอมล พรอมตวอยางการใชงาน
ตวอยางการเชอมฐานขอมลผานทาง Model เชน การเพมขอมล, ลบ, แกไข หรอ คนหาขอมล
Chapter 07 การแสดงผลในรปแบบตาง ๆ
ข นตอนการตดต ง Widget เสรมจากภายนอก และวธการใชงาน Zii Widget เชน CActiveForm
Chapter 08 เทคนคเสรมทจ�าเปนตองรบน Yii Framework 2.0.7
รวมเทคนคเสรมตาง ๆ ทจ �าเปนตองรบน Yii Framework 2 เชน การสราง Virtual Host เปนตน
Chapter 09 Workshop ระบบจดการปฏทนออนไลน
ข นตอนการพฒนาระบบตวอยาง คอ ระบบจดการปฏทนออนไลน (อยางงาย)
ฉ