> **存放路径**
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/ 是等价的