Upload
duncan-chen
View
562
Download
3
Embed Size (px)
DESCRIPTION
Yii2 restful 基礎教學
Citation preview
Yii2 RESTful Service國⽴立屏東科技⼤大學-電算中⼼心教學研究組
陳志豐
Outline
Yii Framework與⼯工具介紹
開發環境介紹
開始動⼿手建置
結語
Yii Framework與⼯工具介紹
Yii Framework
Yii Framework是⼀一個滿熱⾨門的框架,這個框架主要是主打快速開發,安全與⾼高效能的⼀一個框架。
⺫⽬目前最新版本為2.0版本
資料庫物件操作是採⽤用ORM模式操作其核⼼心元件為ActiveRecord,可以讓使⽤用者⽤用物件⽅方式去操作資料庫。
Postman - REST Client
Postman 是⼀一個 Chrome 的 Extension, 安裝完後可以直接在Chrome上⾯面測試api。
模擬各種 HTTP requests:從常⽤用的 GET、POST 到 RESTful 的 PUT 、 DELETE …等等。 甚⾄至還可以送出檔案、送出額外的 header。
Collection 是 requests的集合,在做完單⼀一個測試的時候, 你可以把這次的 request 存到特定的 Collection 裡⾯面,如此⼀一來,下次要測試的時候,就不需要重新輸⼊入。
RESTful API
資源是由URI來指定。
對資源的操作包括獲取、創建、修改和刪除資源,這些操作正好對應HTTP協議提供的GET、POST、PUT和DELETE⽅方法。
開發環境介紹
開發環境介紹OS:Mac os x 10.9.5
PHP:5.4
IDE:Sublime text2
DB:Mysql 5
Test tool:Postman
CREATE TABLE `country` ( `code` CHAR(2) NOT NULL PRIMARY KEY, `name` CHAR(52) NOT NULL, `population` INT(11) NOT NULL DEFAULT '0' ) ENGINE=InnoDB DEFAULT CHARSET=utf8; !INSERT INTO `Country` VALUES ('AU','Australia',18886000); INSERT INTO `Country` VALUES ('BR','Brazil',170115000); INSERT INTO `Country` VALUES ('CA','Canada',1147000); INSERT INTO `Country` VALUES ('CN','China',1277558000); INSERT INTO `Country` VALUES ('DE','Germany',82164700); INSERT INTO `Country` VALUES ('FR','France',59225700); INSERT INTO `Country` VALUES ('GB','United Kingdom',59623400); INSERT INTO `Country` VALUES ('IN','India',1013662000); INSERT INTO `Country` VALUES ('RU','Russia',146934000); INSERT INTO `Country` VALUES ('US','United States',278357000);
建置所需要資料表
開始動⼿手建置
下載Yii2 Basic App
點選連結下載
解壓縮檔案
資料夾更名為restfultest
將資料夾搬移⾄至Web Root
Web Root路徑,依Mac環境為/Library/WebServer/
Documents/
將資料夾搬移⾄至Web Root
Web Root路徑,依Mac環境為/Library/WebServer/
Documents/
修改資料夾權限
sudo chmod -R 777 /Library/WebServer/Documents/restfultest/
設定Yii2環境變數設定檔案路徑:restfultest/config/web.php
新增Yii2 RESTful設定 設定檔案路徑:restfultest/config/web.php
設定資料庫連線 設定檔案路徑:restfultest/config/db.php
資料庫連線ip
使⽤用者
密碼
新增Controller 檔案路徑:restfultest/controllers/CountryController.php
restful api 需要對應的資料表 如果不需要,直接保持空字串即可
新增Model 檔案路徑:restfultest/models/Country.php
資料表名稱
在專案web資料夾新增.htaccess檔檔案路徑:restfultest/web/.htaccess
RewriteEngine On !RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d !RewriteRule . index.php
將測試資料新增⾄至資料庫
測試RESTful API是否成功
測試網址 http://localhost/restfultest/web/
countries 測試結果
結語
使⽤用RESTful的優點:
• 可更⾼高效利⽤用快取來提⾼高響應速度
• 通訊本⾝身的無狀態性可以讓不同的伺服器的處理⼀一系列請求中的不同請求,提⾼高伺服器的擴展性
• 跨平台
謝謝⼤大家的聆聽