中文文档

此处的文档针对 Slim 3 。要查阅 Slim 2 的文档请访问 docs.slimframework.com

欢迎使用

Slim是一款 PHP 微框架,可以帮助你快速编写简单但功能强大的 web 应用和 API 。在它的核心,Slim 是一个调度程序,它接收一个 HTTP 请求,调用一个适当的回调例程,然后返回一个 HTTP 响应。就这样简单。

重点是什么?

Slim 是一个理想的工具,用来创建销毁、重用或发布数据。Slim 也是一个用来快速构建原型的好工具。呃,那啥,你甚至可以用 Slim 来创建带有用户界面的功能完整的 web 应用程序。更重要的是,Slim 速度超快,代码很简单。实际上,一个下午你就能读完并理解它的源代码!

在它的核心,Slim 是一个调度程序,它接收一个 HTTP 请求,调用一个适当的回调例程,然后返回一个 HTTP 响应。就这样简单。

你并不总是需要一套全方位的解决方案,比如 Symfony 或者 Laravel 。当然,它们都是了不起的工具。但它们往往矫枉过正。相反,Slim 只最小限度地提供你所需要用的工具,没有其他多余的东西。

它如何工作?

首先,你需要一个 web 服务器,比如 Nginx 或 Apache 。你需要配置你的 web 服务器让它发送所有适当的请求到一个“前端控制器” PHP 文件。你就在这个 PHP 文件里实例化并运行你的 Slim 应用。

一个 Slim 应用包含多个响应特定 HTTP 请求的路由。每个路由调用一个回调并返回一个 HTTP 响应。在刚开始的时候,你首先实例化并配置 Slim 应用。下一步,定义你的应用程序的路由。最后,运行你的 Slim 应用程序。这很简单吧?这里有一个实例应用程序:

<?php
// 创建并配置 Slim app
$app = new \Slim\App;

// 定义 app 路由
$app->get('/hello/{name}', function ($request, $response, $args) {
    return $response->write("Hello " . $args['name']);
});

// 运行 app
$app->run();
Figure 1: Slim 示例应用

请求和响应

当你构建一个 Slim 应用时,你会经常直接与请求对象和响应对象打交道。这些对象表示由 web 服务器实际接收到的 HTTP 请求,以及最终返回给客户端的 HTTP 响应。

Slim 应用程序的每个路由都将前的请求对象和响应对象作为它的回调例程的参数。这些对象实现了流行的 PSR 7 接口。Slim 应用的路由可以必要地检查或操作这些对象。最终,每个 Slim应用路由必然返回一个 PSR 7 响应对象。

加入你自己的组件

Slim 可以良好地兼容其他 PHP 组件。你可以注册第三方组件,比如 Slim-Csrf, Slim-HttpCache, 或 Slim-Flash 这种基于 Slim 默认功能上的组件。Slim 还可以很容易地集成那些从Packagist上找到的第三方组件。

如何阅读这份文档

如果你是第一次接触 Slim,我建议你从头到尾先阅读一遍。如果你已经和 Slim 混得比较熟了,你可以直接去阅读你想看的部分。

本文档从解释 Slim 的概念和架构开始,而不是贸然开始讲述请求和响应处理、路由、错误处理这些特定的话题。特定的话题。(中文文档若有错误或不准确,请务必反馈一下哦)