yii framework 2 basic training
TRANSCRIPT
Yii Framework 2 Basic Training | Manop Kongoon
ภำพรวมหลักสูตร (Course Overview)
•OOP Concept•MVC Pattern•Yii2 Convention•Routing & Request•M-V-C•Access Control
•Small Workshop•News•Gallery
3
Yii Framework 2 Basic Training | Manop Kongoon
ควำมช ำนำญท่ีแนะน ำ (Recommend Skill)
•PHP and MySQL•HTML and CSS•Bootstrap 3•JavaScript•MVC Concept•OOP Concept
4
Yii Framework 2 Basic Training | Manop Kongoon
เตรียมเครื่องมือ
•Web Server (WAMP - http://www.wampserver.com)•Composer http://getcomposer.org•GitHub Account http://github.com• IDE (NetbeansIDE - http://netbeans.org)
6
Yii Framework 2 Basic Training | Manop Kongoon
Composer
•ตัวจัดกำร Library auto update• ใช้ Folder vendor ส ำหรับเก็บ Library•ค้นหำ Library ได้ท่ี packagist.org•สำมำรถเช่ือมกับ Github และ Bitbucket•Library จะสำมำรถใช้งำนได้กับ Framework ต่ำงๆ•getcomposer.org
8
Yii Framework 2 Basic Training | Manop Kongoon
NetBeansIDE
•ท ำไมต้อง NetbeansIDE?•ฟร!ี•มี Auto Complete•มี Auto Debug•มีระบบกำรจัด Format code•netbeans.org
10
Yii Framework 2 Basic Training | Manop Kongoon
รู้จักกับ Yii2
•ก ำเนิด Yii Framework และ Yii Framework 2 หรือ Yii2
12
Yii Framework 2 Basic Training | Manop Kongoon
เทคโนโลยีท่ีเกี่ยวข้อง
•PSR-4 http://www.php-fig.org/psr/psr-4
14
Yii Framework 2 Basic Training | Manop Kongoon
ติดตัง้ด้วย Composer
•Set path php.exe ท่ี System variable•composer global require “fxp/composer-asset-plugin:1.0.0”•composer create-project yiisoft/yii2-app-basic your-app-name
17
Yii Framework 2 Basic Training | Manop Kongoon
ติดตัง้ด้วย Archive File
•http://www.yiiframework.com/download/•แตก Archive File• เปล่ียนค่ำใน config/web ส่วน CookieValidation
18
Yii Framework 2 Basic Training | Manop Kongoon
Model
•namespace app\models;•กำรตัง้ช่ือต่อกันด้วยตัวใหญ่ เช่นHelloWorld•สืบทอด (extends) มำจำก Model หรือ ActiveRecord•Property เป็นตัวแทนของข้อมูล
21
Yii Framework 2 Basic Training | Manop Kongoon
Model
•Model มี 2 แบบ•แบบไม่ใช้ตำรำงในฐำนข้อมูล ส่วนใหญ่ใช้ในกำรสร้ำง Form• extends Model
•แบบใช้ตำรำงในฐำนข้อมูล• extends ActiveRecord
22
Yii Framework 2 Basic Training | Manop Kongoon
View
• ช่ือ Folder เก็บ View ให้สอดคล้องกับช่ือ Controller เช่น HelloWorldController จะได้ Folder View ช่ือ hello-world• ช่ือ action ใน Controller ควรสร้ำง View ช่ือเดียวกัน หำกมีกำรต่อค ำ hello-world.php
23
Yii Framework 2 Basic Training | Manop Kongoon
View
•ประกอบไปด้วย Helper (ตัวช่วย) และ Widget (ตัวแสดงผล)ต่ำงๆ ในกำรแสดงผลข้อมูล•Html Helper•GridView, ListView และ DetailView
24
Yii Framework 2 Basic Training | Manop Kongoon
Controller
•namespace app\controllers;•กำรตัง้ช่ือต่อกันด้วยตัวใหญ่ แล้วตำมด้วย Controller เช่นHelloWorldController•สืบทอด (extends) มำจำก Controller•Method ท่ีเรียกจำก Route ขึน้ต้นด้วย action ตำมด้วยช่ือ เช่น actionHelloWorld()
25
Yii Framework 2 Basic Training | Manop Kongoon
Controller
•ตัวกลำงในกำรส่งค่ำตัวแปรระหว่ำง Model กับ View•ศูนย์รวม Logic ของโปรแกรม
26
Yii Framework 2 Basic Training | Manop Kongoon
Hello World Controller
•สร้ำง HelloWorldController.php•สร้ำง actionSay()•สร้ำง view hello-world/say.php
•กำรส่งค่ำให้ view•กำรรับค่ำแบบ Get ผ่ำนController
28
Yii Framework 2 Basic Training | Manop Kongoon
Create Command
•$posts = $db->createCommand(“SELECT * FROM post”)->queryAll();
32
Yii Framework 2 Basic Training | Manop Kongoon
Query Builder
•$rows = (new \yii\db\Query())->select([‘id’, ‘username’, ‘email’])->from(‘user’)->where([‘firstname’=>’John’])->limit(4)->all();•https://github.com/yiisoft/yii2/blob/master/docs/guide/db-query-builder.md
33
Yii Framework 2 Basic Training | Manop Kongoon
กำรสร้ำงระบบ User
•แบ่งสิทธิ์กำรเขำ้ถึง•ROLE_ADMIN = 10•ROLE_MANAGER = 5•ROLE_USER = 1
•แบ่งตำรำง user และ profile• ใช้ migrate ในกำรสร้ำงตำรำง user และ profile
42