> **存放路徑**
eapi的控制器存放在
/work/項目/spi/
與常見的MVC框架的控制器結構基本類似,如果有前置中間件,則控制器默認會傳遞一個 $result 參數,表示前置中間件的返回值
~~~
// 一個標準的控制器
namespace spi;
class Demo{
/**
* ***************************************************************************
* c -- 演示
*
* 說明 :
* 這里演示控制器的方法
*
* 請求 : 指定該方法的請求模式,比如下面指定的POST請求,如果請求是get則會提示相關錯誤。
* @method : post
*
* 前置 :
* @before : before
*
* 后置 :
* @after : after
*
* 歷史 :
* 2021/10/14 : created
* ***************************************************************************
*/
public function c()
{
$data = '......';
json($data);
}
}
// 假設現在項目目錄名是:api
// URL訪問:http://localhost/api/demo/c/
~~~
如果服務的功能較多,層級也較多,建議增加Init.php來抽離公共部分
~~~
// 在 spi 根目錄創建 Init.php
namespace spi;
class Init{
protected $_UID = 0;
public function __construct()
{
$this->_UID = 10;
}
}
// 創建控制器繼承Init
namespace spi;
use spi\Init;
class Demo extends Init{
public function __construct()
{
parent::__construct();
}
// 具體業務邏輯處理
public function c()
{
$data = $this->_UID;
json($data);
}
}
~~~
默認項目
在eapi/conf/Conf.php中的 DEFAULT配置項中可以配置默認項目,比如配置的默認項目是 api,
則在訪問時可以省略項目目錄
例如:http://localhost/demo/c/ 和 http://localhost/api/demo/c/ 是等價的