endel/slim

Slim 框架,一个 PHP 微型框架

维护者

详细信息

github.com/endel/Slim

主页

源代码

安装: 991

依赖者: 1

建议者: 0

安全: 0

星标: 0

关注者: 3

Forks: 1,949

2.4.3 2014-04-05 18:33 UTC

README

Build Status

Slim 是一个 PHP 微型框架,可以帮助您快速编写简单而强大的 Web 应用程序和 API。Slim 适用于初学者和专业人士。Slim 重视清晰度而非简洁性,重视常见情况而非边缘情况。其界面简单、直观,并具有详尽的文档——包括在线文档和代码本身。感谢您选择 Slim 框架作为您的下一个项目。我相信您会喜欢它的。

特性

  • 强大的路由器
    • 标准自定义 HTTP 方法
    • 带通配符和条件的路由参数
    • 路由重定向、中断和传递
    • 路由中间件
  • 资源定位器和依赖注入容器
  • 使用自定义视图的模板渲染
  • 闪存消息
  • 使用 AES-256 加密的加密 cookies
  • HTTP 缓存
  • 使用自定义日志编写器的日志记录
  • 错误处理和调试
  • 中间件和钩子架构
  • 简单的配置

入门指南

安装

您可以使用 Composer(推荐)或手动安装 Slim 框架。

阅读如何安装 Slim

系统需求

您需要 PHP >= 5.3.0。如果您使用加密 cookies,您还需要 mcrypt 扩展。

Hello World 教程

实例化 Slim 应用程序

$app = new \Slim\Slim();

定义 HTTP GET 路由

$app->get('/hello/:name', function ($name) {
    echo "Hello, $name";
});

运行 Slim 应用程序

$app->run();

设置您的 Web 服务器

Apache

确保 .htaccessindex.php 文件位于同一公开可访问的目录中。该 .htaccess 文件应包含此代码

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]

另外,请确保您的虚拟主机配置了 AllowOverride 选项,以便可以使用 .htaccess 重写规则

AllowOverride All

Nginx

Nginx 配置文件应在您的 location 块中包含此代码(以及您可能需要的其他设置)

try_files $uri $uri/ /index.php?$args;

这假设 Slim 的 index.php 位于您的项目根目录(www 根目录)中。

HipHop 虚拟机(HHVM)

您的 HipHop 虚拟机配置文件应包含此代码(以及您可能需要的其他设置)。请确保您更改 ServerRoot 设置,以指向您的 Slim 应用程序的文档根目录。

Server {
    SourceRoot = /path/to/public/directory
}

ServerVariables {
    SCRIPT_NAME = /index.php
}

VirtualHost {
    * {
        Pattern = .*
        RewriteRules {
                * {
                        pattern = ^(.*)$
                        to = index.php/$1
                        qsa = true
                }
        }
    }
}

lighttpd

您的 lighttpd 配置文件应包含此代码(以及您可能需要的其他设置)。此代码需要 lighttpd >= 1.4.24。

url.rewrite-if-not-file = ("(.*)" => "/index.php/$0")

这假设 Slim 的 index.php 位于您的项目根目录(www 根目录)中。

IIS

确保 Web.configindex.php 文件位于同一公开可访问的目录中。该 Web.config 文件应包含此代码

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="slim" patternSyntax="Wildcard">
                    <match url="*" />
                    <conditions>
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="index.php" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

文档

http://docs.slimframework.com/

如何贡献

拉取请求

  1. 从 Slim 框架仓库进行分叉
  2. 为每个功能或改进创建一个新的分支
  3. 从每个功能分支向 develop 分支发送拉取请求

将新功能或改进分开到单独的功能分支,并为每个分支发送拉取请求非常重要。这使我能够单独审查和合并新功能或改进。

风格指南

所有拉取请求都必须遵守 PSR-2 标准。

单元测试

所有拉取请求都必须附带通过单元测试和完整的代码覆盖率。Slim 框架使用 phpunit 进行测试。

了解 PHPUnit

社区

论坛和知识库

访问Slim官方论坛和知识库http://help.slimframework.com,在这里您可以找到公告、与Slim用户聊天、提问、帮助他人或展示您酷炫的Slim Framework应用。

Twitter

关注Twitter上的@slimphp,以接收有关框架的新闻和更新。

作者

Slim框架由Josh Lockhart创建和维护。Josh是New Media Campaigns的资深网页开发者New Media Campaigns。Josh还创建了PHP: The Right Way,这是一个在PHP社区中流行的运动,旨在向新的PHP程序员介绍最佳实践和良好的信息。

许可证

Slim框架在MIT公共许可证下发布。

https://slim.php.ac.cn/license