# 路由的中间件
The routing has been implemented as middleware. We are still using[FastRoute](https://github.com/nikic/FastRoute)as the default router but it is not tightly coupled to it. If you wanted to implement another routing library you could by creating your own implementations of the routing interfaces.`DispatcherInterface`,`RouteCollectorInterface`,`RouteParserInterface`and`RouteResolverInterface`which create a bridge between Slim’s components and the routing library. If you were using`determineRouteBeforeAppMiddleware`, you need to add the`Middleware\RoutingMiddleware`middleware to your application just before your call run() to maintain the previous behaviour.
> 路由已作为中间件实现。我们仍然使用[FastRoute](https://github.com/nikic/FastRoute)作为默认路由器,但它并没有与之紧密耦合。
> 如果希望实现另一个路由库,可以创建自己的路由接口实现。`DispatcherInterface`,`RouteCollectorInterface`,`RouteParserInterface`and`RouteResolverInterface`在Slim的组件和路由库之间建立了一座桥梁。如果您使用的是`Middleware\RoutingMiddleware`,那么您需要在调用run()之前将中间件路由中间件添加到您的应用程序中,以维护先前的行为。如果您使用的是`determineRouteBeforeAppMiddleware`,您需要在您的调用run()之前将`Middleware\RoutingMiddleware`中间件添加到您的应用程序中,以保持先前的行为。
## Usage
~~~php
<?php
use Slim\Factory\AppFactory;
require __DIR__ . '/../vendor/autoload.php';
$app = AppFactory::create();
// Add Routing Middleware
$app->addRoutingMiddleware();
// ...
$app->run();
~~~
- 开始
- 安装
- 升级指南
- Web服务器
- 概念
- 生命周期
- PSR 7
- 中间件
- 依赖容器
- 实例 及通知和警告处理
- Request
- 请求方法
- 请求头信息
- 请求主体
- 上传的文件
- 请求帮助
- 路由对象
- Response
- 响应状态
- 响应标头
- 响应体
- 返回JSON
- 视图模板
- 路由
- 创建路由
- 路由回调
- 路由策略
- 路线占位符
- 路由名
- 路由组
- 路由中间件
- 路由表达式缓存
- 容器识别解析
- 封装中间件
- 路由的中间件
- 错误处理中间件
- 方法重写的中间件
- 输出缓冲中间件
- 内容长度中间件
- 扩展功能
- 以 / 结尾的路由模式
- 获取当前路由
- 设置CORS
- 使用POST表单上传文件
- 第三方组件
- slim-session
- auth
- slim-api-skeleton
- dir