isize1ce/apiate

轻量级HTTP微框架

安装: 6

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:项目

v0.1.4 2018-09-10 14:26 UTC

This package is auto-updated.

Last update: 2024-09-12 04:19:49 UTC


README

示例

请求处理器

  • ClosureHandler
new ClosureHandler(function(Request $request) {
    return new Response();
}));
  • ControllerHandler
class Controller {
    public function methodName(Request $request) {
        return new Response('Hello World!');
    }
}

new ClosureHandler(Controller::class, 'methodName');
  • RouteHandler
class MyRequestHandler implements RouteRequestHandler {
    public function __construct(Request $request) {
        $this->text = $request->request->get('text', 'empty');
    }
    
    public function handle() {
        return new Response('Hello World!');
    }
}

new ClosureHandler(RouteController::class);

命名空间

$routeProvider->namespace('/path', function(RequestProvider $pathRoutes) {
    $pathRoutes->get('/', SomeHandler);
    $pathRoutes->post('/', SomeHandler);
    
    $routeProvider->namespace('/anotherPath', function(RequestProvider $pathRoutes) {
        $pathRoutes->put('/', SomeHandler);
        $pathRoutes->delete('/', SomeHandler);
    }
}));

路径正则表达式

$routeProvider->get('/api/{uriParameterNameWithRegex=\d+}/{randomUriParameterWithoutRegex}', SomeHandler);