-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathserver.php
More file actions
48 lines (31 loc) · 1.12 KB
/
server.php
File metadata and controls
48 lines (31 loc) · 1.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?php
/**
* Created by PhpStorm.
* User: laogui
* Date: 17/5/9
* Time: 下午5:47
*/
require dirname(__FILE__)."/vendor/autoload.php";
$router = new \Sukui\Router();
$router->get("/user/{id:\d+}",function (\Sukui\ServerContext $context,$next,$vars){
$context->body = "user={$vars['id']}";
});
$router->addRoute(["GET","POST"],"/test",function (\Sukui\ServerContext $context,$next,$vars){
$context->body = "test";
});
$router->get("/timeout",function (\Sukui\ServerContext $context,$next,$vars){
yield async_sleep(1000);
});
$router->addGroup("/admin",function(\FastRoute\RouteCollector $router){
$router->addRoute("GET","/test1",function (\Sukui\ServerContext $context,$next,$vars){
$context->body = "admin/test1";
});
$router->addRoute("GET","/test2",function (\Sukui\ServerContext $context,$next,$vars){
$context->body = "admin/test2 with ".json_encode($vars);
});
});
$app = new \Sukui\Application();
$app->addMiddleware(new \Sukui\Middleware\RequestTimeout(200));
$app->addMiddleware($router->routes());
$app->addMiddleware(new \Sukui\Middleware\NotFound());
$app->listen();