Slim Framework 1.6.0 版本
我刚刚将 Slim Framework 1.6.0 发布到稳定分支中。这是一个主要版本,包括全新的,以 Rack 协议为基础的框架架构。
新特性
新的 Rack 架构
Slim Framework 1.6.0 实现了一个 Rack 协议的衍生版本。在实例化时,Slim 应用程序将从 $_SERVER
全局变量中提取一组变量并放入 Slim_Environment 的一个实例中。Slim 应用程序使用这些环境变量来路由当前的 HTTP 请求并返回合适的 HTTP 响应。
新的应用程序中间件
Slim 应用程序现在可以使用全应用程序中间件来检查或修改 Slim 应用程序运行之前和/或之后的应用程序环境、请求或响应。中间件是 Slim Framework 的强大新增功能,为您的应用程序开启了许多新可能性。
改进的请求接口
Slim_Http_Request 对象有一个改进的接口,让开发者可以更轻松地检查当前的 HTTP 请求。
改进的响应接口
Slim_Http_Response 对象有一个改进的接口,让开发者可以更轻松地准备 HTTP 响应。
改进的会话处理
与之前版本不同,Slim Framework 1.6.0 不会自行启动 PHP 原生会话。如果您需要一个 PHP 原生会话,您应该在实例化一个 Slim 应用程序之前自行配置并启动一个 PHP 原生会话。许多应用程序开发者觉得 Slim 早期的会话实现过于武断;1.6.0 中的新实现允许多种配置且做出较少的假设。
Slim_Middleware_SessionCookie 中间件可用于将已签名、加密的会话数据持久存储到一个 HTTP cookie 中,就像 Slim Framework 的早期版本一样。
改进的 cookie 处理
Slim Framework 1.6.0 不再使用 PHP 原生的 setcookie()
方法。相反,Slim Framework 1.6.0 在响应对象的标头中构造并存储 cookie。这允许应用程序开发者在向客户端返回 HTTP 响应之前检查和微调应用程序中间件中的 cookie 数据。
改进的日志
Slim Framework 1.6.0 允许更灵活的日志记录,自定义日志写入器将日志数据定向到适当的输出目标(例如,文件、数据库、Twitter 或远程网络服务)。
改进的测试覆盖率
与每个新版本一样,Slim Framework 1.6.0 包括改进的 PHPUnit 测试覆盖率和更新的 phpDocumentor API 文档。
其他小新增功能
Slim Framework 1.6.0 包括许多其他较小的新增功能,包括
- 支持
X-HTTP-Method-Override
请求标头 - 新增应用程序
expires()
方法,用于改进 HTTP 缓存 - 改进与使用 gzip 压缩的 Web 服务器的兼容性
- 与 Composer 包管理器兼容
如何升级
Slim Framework 1.6.0 应该可以从早期版本无缝升级。在升级较旧应用程序时,唯一可能出现问题的是会话和日志记录。
会话
如上所述,Slim Framework 1.6.0 本身不会启动本机 PHP 会话。如果当前应用程序依赖本机 PHP 会话,你需要在实例化应用程序之前配置并启动 PHP 会话。
如果你希望继续保存会话数据到经过签名、加密的 HTTP Cookie,你需要向应用程序添加 Slim_Middleware_SessionCookie 中间件。
日志记录
Slim Framework 1.6.0 提供了使用自定义日志写入器的更新日志记录实现。你可能需要更新应用程序的记录器,以便它继续将记录数据发送到相同位置。默认情况下,Slim Framework 1.6.0 将把记录消息发送到 STDERR。
尽情享受吧!