ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 生命周期 ***** ## 应用程序生命周期 ### 1. 实例化 首先,实例化`Slim\App`类。这是Slim应用程序对象。在实例化期间,Slim为每个应用程序依赖项注册默认服务。应用程序构造函数接受可选的设置数组,用于配置应用程序的行为。 ### 2. 路由定义 其次,使用应用程序实例的`get()`、`post()`、`put()`、`delete()`、`patch()`、`head()`和`options()`路由方法定义路由。这些实例方法用应用程序的Router对象注册路由。每个路由方法都返回路由实例,因此您可以立即调用路由实例的方法来添加中间件或分配名称。 ### 3.应用程序运行 第三,调用应用程序实例的`run()`方法。该方法启动如下过程: A.进入中间件堆栈 `run()`方法开始向内遍历应用程序的中间件堆栈。这是中间件层的同心结构,在slim应用程序运行之前(和之后)接收(可选操作)环境、请求和响应对象。瘦应用程序是同心中间件结构的最内层。每个中间件层都是从最外层内部开始调用的。 b .运行应用程序 `run()`方法到达最内部的中间件层后,调用应用程序实例并将当前HTTP请求分派给适当的应用程序路由对象。如果路由匹配HTTP方法和URI,就会调用路由的中间件和可调用的。如果没有找到匹配的路由,则调用未找到或不允许的处理程序。 C.退出中间件堆栈 应用程序分发过程完成后,每个中间件层从最内层开始向外收回控制。 D.发送HTTP响应 在最外层中间件层割让控制之后,应用程序实例准备、序列化并返回HTTP响应。HTTP响应头是用PHP的本机`header()`方法设置的,HTTP响应体输出到当前输出缓冲区。