mixphp 是一款基於 swoole 的常駐記憶體型 php 高效能框架,框架的高效能特點非常適合開發 api 介面,而且 mixphp 非常接近傳統 mvc 框架,所以開發介面時非常簡單。
注意:這個是 mixphp v1 的範例下面做乙個開發 api 介面的簡單例項:
從articles
表,通過id
獲取一篇文章。
訪問該介面的 url:
資料庫表結構如下:
create table `articles` (
`id` int(10) unsigned not null auto_increment,
`title` varchar(255) not null,
`content` varchar(255) not null,
`dateline` timestamp not null default current_timestamp,
primary key (`id`)
) engine=innodb default charset=utf8;
修改資料庫配置檔案,mixphp 的應用配置檔案中,關於資料庫的資訊都引用了 common/config/database.php 檔案。
修改應用配置檔案:
框架預設的 404/500 響應是網頁,而 api 服務需要響應 json 資料,通常其他傳統 mvc 框架需要修改很多地方才可完成這個需求,mixphp 本身就提供該種配置,只需修改一下配置即可。
mixphp 的預設 http 應用中有兩個配置檔案,分別為:
開發 api 時我們推薦在 apache/php-fpm 下開發,上線再部署至 mix-httpd 即可,反正是無縫切換的。
現在我們修改 response 鍵名下的 defaultformat 鍵為 mix\http\error::format_json,如下:
// 響應
'response' => [
// 類路徑
// 預設輸出格式
// 類路徑
// 類路徑
// callback鍵名
'name' => 'callback',
],// xml
'xml' => [
// 類路徑
然後修改 main_compatible.php 檔案中 error 鍵名下的 format 鍵為 mix\http\error::format_json,如下:
// 錯誤
'error' => [
// 類路徑
// 輸出格式
],
建立控制器:
// 獲取資料
$data = $model->getdetails();
if (!$data)
// 響應
return ['code' => errorcode::success, 'data' => $data];}}
建立錯誤碼類:
<?php
class errorcode
建立表單驗證模型:
<?php
use mix\validators\validator;
class articlesform extends validator
// 場景
public function scenarios()
// 獲取詳情
public function getdetails()
}
建立資料表模型:
<?php
use mix\facades\pdo;
class articlesmodel
}
以上就是全部**的編寫。
使用 postman 測試,如下:
介面開發與測試完成,是不是很簡單呀。
github:
官網:
API 介面開發規範
api與使用者的通訊協議,總是使用https協議,確保互動資料的傳輸安全。應該盡量將api部署在專用網域名稱之下。如果確定api很簡單,不會有進一步擴充套件,可以考慮放在主網域名稱下。應該將api的版本號放入url。v 另一種做法是,將版本號放在http頭資訊中,但不如放入url方便和直觀。gith...
PHP開發API介面
在實際工作中,使用php寫api介面是經常做的,php寫好介面後,前台就可以通過鏈結獲取介面提供的資料,而返回的資料一般分為兩種情況,xml和json,在這個過程中,伺服器並不知道,請求的 是什麼,有可能是別人非法呼叫我們的介面,獲取資料,因此就要使用安全驗證。從圖中可以看得很清楚,前台想要呼叫介面...
API介面開發規範
整體規範建議採用restful方式來實施。協議 api與使用者的通訊協議,應該使用https協議,確保互動資料的安全傳輸。網域名稱 應該盡量將api部署在專用網域名稱下。如 api版本控制 方法一 將api的版本號放入uri,如 方法二 將版本號放在http頭資訊中。這種方法不如放入url中方便和直...