概览
快速概览
基本流程
收到 HTTP 请求后,最先到的是你预定义的路由(每个路由都存Route文件中)。
路由示例
<?php
$router->get('hello', [
'uses' => 'Controller@sayHello',
]);
在用户向路由发送 [GET] www.api.apiato.com/v1/hello
后,他会调用定义的控制器函数(sayHello
)
控制器
<?php
class Controller extends ApiController
{
public function sayHello(SayHelloRequest $request)
{
$helloMessage = Apiato::call(SayHelloAction::class);
$this->json([
$helloMessage
]);
}
}
此函数使用Request类 SayHelloRequest
自动检查用户是否具有对此功能的正确访问权限。仅当用户具有访问权限时,才进入函数。
然后该函数调用Action(SayHelloAction
)来执行业务逻辑。
action 样例
<?php
class SayHelloAction extends Action
{
public function run()
{
return 'Hello World!';
}
}
这 Action 能够做任何事情,然后返回一个 对象,字符串等任何结果.
当 Action 完成工作时,控制器函数返回一个准备好的响应。
你可以使用辅助函数json
($this->json(['foo' => 'bar']);
)构建json响应。
用户响应示例
[
"Hello World!"
]