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 的早期版本一样。

了解更多信息

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。

尽情享受吧!