lcloss/slim2

由 Slim 框架衍生而来,一个 PHP 微型框架(http://github.com/codeguy/Slim)

维护者

详细信息

github.com/lcloss/Slim2

主页

源码

安装: 354

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 0

分支: 1,946

4.11.0 2022-11-06 16:33 UTC

README

Build Status

Slim 是一个 PHP 微型框架,可以帮助您快速编写简单而强大的 Web 应用程序和 API。Slim 对初学者和专业人士都易于使用。Slim 倾向于简洁性而非简洁性,以及常规情况而非边缘情况。其接口简单、直观,且具有广泛的在线和代码本身文档。感谢您选择 Slim 框架作为您的下一个项目。我想您会喜欢它的。

特性

  • 强大的路由器
    • 标准和自定义 HTTP 方法
    • 带有通配符和条件的路由参数
    • 路由重定向、停止和传递
    • 路由中间件
  • 资源定位器和 DI 容器
  • 使用自定义视图进行模板渲染
  • 闪存消息
  • 加密饼干数据
  • HTTP 缓存
  • 使用自定义日志记录器的日志记录
  • 错误处理和调试
  • 中间件和钩子架构
  • 简单的配置

入门指南

安装

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

阅读如何安装 Slim

系统要求

您需要 PHP >= 5.3.0。如果您使用加密饼干,您还需要 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 根目录)。

PHP 虚拟机

您的 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>

Google App Engine

要成功在 Google App Engine 上运行您的 Slim 应用程序,需要两个步骤。首先,确保 app.yaml 文件包含一个默认处理程序 index.php

application: your-app-name
version: 1
runtime: php
api_version: 1

handlers:
# ...
- url: /.*
  script: public_html/index.php

然后,编辑您的 index.php 文件,以便 Slim 了解传入的 URI

$app = new Slim();

// Google App Engine doesn't set $_SERVER['PATH_INFO']
$app->environment['PATH_INFO'] = $_SERVER['REQUEST_URI'];

// ...
$app->run();

文档

http://docs.slimframework.com/

如何贡献

注意:我们仅接受 Slim 2(master 分支)的安全修复。所有开发都集中在 Slim 3(develop 分支)上。

拉取请求

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

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

风格指南

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

单元测试

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

了解 PHPUnit

社区

论坛和知识库

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

Twitter

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

作者

Slim 框架由 Josh Lockhart 创建并维护。Josh 是 New Media Campaigns 的高级网页开发人员,网址为 http://www.newmediacampaigns.com/。Josh 还创建并维护了 PHP: The Right Way,这是一个在 PHP 社区中流行的运动,旨在向新的 PHP 程序员介绍最佳实践和良好的信息。

许可证

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

https://github.com/slimphp/Slim/blob/master/LICENSE