路由

启用路由

服务器配置文件中加入中间件:

  1. return [
  2. 'beans' => [
  3. 'TcpDispatcher' => [
  4. 'middlewares' => [
  5. \Imi\Server\TcpServer\Middleware\RouteMiddleware::class,
  6. ],
  7. ],
  8. ],
  9. ];

通过配置注入形式,实现非常灵活的配置,你甚至可以自己另外实现路由中间件,而不用被框架自带的中间件所影响,用哪些中间件都在你的掌控之中!

获取当前路由解析结果 (routeResult)

  1. $routeResult = RequestContext::get('routeResult');

$routeResult 定义:

  1. /**
  2. * 路由配置项
  3. *
  4. * @var \Imi\Server\TcpServer\Route\RouteItem
  5. */
  6. public $routeItem;
  7. /**
  8. * 参数
  9. *
  10. * @var array
  11. */
  12. public $params;
  13. /**
  14. * 回调
  15. *
  16. * @var callable
  17. */
  18. public $callable;

$routeResult->routeItem 定义:

  1. /**
  2. * 注解
  3. *
  4. * @var \Imi\Server\Route\Annotation\Tcp\TcpRoute
  5. */
  6. public $annotation;
  7. /**
  8. * 回调
  9. *
  10. * @var callable|\Imi\Server\Route\RouteCallable
  11. */
  12. public $callable;
  13. /**
  14. * 中间件列表
  15. *
  16. * @var array
  17. */
  18. public $middlewares = [];
  19. /**
  20. * 其它配置项
  21. *
  22. * @var array
  23. */
  24. public $options;