基於ThinkPHP 的Api 設計

2021-09-30 13:48:03 字數 1785 閱讀 3265

關於api的設計目前比較流行的是restful風格的api設計,譬如阮一峰的這篇restful api 設計指南中的介紹,php也有很多支援restful風格的框架,具體請自己 谷歌之~.但是實際開發中 很對公司採用的並不是支援restful風格的框架,而且是thinkphp~,在實際的開發過程中,介面分為不同的版本~v1.v2.v3...

按照thinkphp官網教程 搭建專案.配置預設分組為rest,在rest分組下建立apicontroller.class.php檔案和basecontroller.class.php檔案,檔案內容大概如下

apicontroller.class

.php

<?php

namespace

rest\controller;

class

apicontroller

extends

basecontroller

public

function

index

() }

basecontroller.class

.php

<?php

namespace

rest\controller;

usethink\controller;

class

basecontroller

extends

controller

public

function

_error_handler || _exception_handler || _shutdown_handler

()

public

function

api_call

($name)

if(!is_file($file)) //丟擲異常

require_once ($file);

$reflector = new \reflectionclass($classname);

if(!$reflector->hasmethod($methodname)) //丟擲異常

$action = $reflector->getmethod($methodname);

$parameters = $action->getparameters();

$class = new $classname();

$method_params = array();

return $action->invokeargs($class,$method_params);

}}

第二步 只需要在rest分組下面建立對應的資料夾,如預設的class檔案,class_v2,對應不同的api版本控制,在class中建立 'userinfoclass.php'

<?php

class

userinfo

}

訪問介面,假設專案部署在根目錄,呼叫獲取使用者名稱介面,即

畢設扎記thinkphp 一

foreach 有兩種用法 foreach array name as value 這裡的array name是你要遍歷的陣列名,每次迴圈中,array name陣列的當前元素的值被賦給 value,並且陣列內部的下標向下移一步,也就是下次迴圈回得到下乙個元素。foreach array name ...

基於REST架構的Web Service設計

先前我曾經介紹過利用apache axis實現基於soap的web service實現技術和相關 總的來說,soap的web service解決方案雖然較為成熟,且安全性較好,但是使用門檻較高,在大併發情況下會有效能問題,在網際網路上使用不太普及,因此並不太適合web 2.0 服務使用,目前大量的w...

基於REST架構的Web Service設計

先前我曾經介紹過利用apache axis 實現基於soap的web service實現技術和相關 總的來說,soap的web service解決方案雖然較為成熟,且安全性較好,但是使用門檻較高,在大併發情況下會有效能問題,在網際網路上使用不太普及,因此並不太適合web 2.0 服務使用,目前大量的...