salesfusion-dev / slim
Slim 框架,一个 PHP 微型框架
Requires
- php: ^7.2
- ext-json: *
- nikic/fast-route: ^1.3
- psr/container: ^1.0
- psr/http-factory: ^1.0
- psr/http-message: ^1.0
- psr/http-server-handler: ^1.0
- psr/http-server-middleware: ^1.0
- psr/log: ^1.1
Requires (Dev)
- ext-simplexml: *
- adriansuter/php-autoload-override: ^1.0
- guzzlehttp/psr7: ^1.5
- http-interop/http-factory-guzzle: ^1.0
- laminas/laminas-diactoros: ^2.1
- nyholm/psr7: ^1.1
- nyholm/psr7-server: ^0.3.0
- phpspec/prophecy: ^1.10
- phpstan/phpstan: ^0.11.5
- phpunit/phpunit: ^8.5
- slim/http: ^1.0
- slim/psr7: ^1.0
- squizlabs/php_codesniffer: ^3.5
Suggests
- ext-simplexml: Needed to support XML format in BodyParsingMiddleware
- ext-xml: Needed to support XML format in BodyParsingMiddleware
- php-di/php-di: PHP-DI is the recommended container library to be used with Slim
- slim/psr7: Slim PSR-7 implementation. See https://slim.php.ac.cn/docs/v4/start/installation.html for more information.
- 4.x-dev
- 4.5.0
- 4.4.0
- 4.3.0
- 4.2.0
- 4.1.0
- 4.0.0
- 4.0.0-beta
- 4.0.0-alpha
- 3.x-dev
- 3.12.3
- 3.12.2
- 3.12.1
- 3.12.0
- 3.11.0
- 3.10.0
- 3.9.2
- 3.9.1
- 3.9.0
- 3.8.1
- 3.8.0
- 3.7.0
- 3.6.0
- 3.5.0
- 3.4.2
- 3.4.1
- 3.4.0
- 3.3.0
- 3.2.2
- 3.2.1
- 3.2.0
- 3.1.0
- 3.0.0
- 3.0.0-RC3
- 3.0.0-RC2
- 3.0.0-RC1
- 3.0.0-beta2
- 3.0-beta1
- 2.x-dev
- 2.6.4
- 2.6.3
- 2.6.2
- 2.6.1
- 2.6.0
- 2.5.0
- 2.4.3
- 2.4.2
- 2.4.1
- 2.4.0
- 2.3.5
- 2.3.4
- 2.3.3
- 2.3.2
- 2.3.1
- 2.3.0
- 2.2.0
- 2.1.0
- 2.0.0
- 1.6.7
- 1.6.6
- 1.6.5
- 1.6.4
- 1.6.3
- 1.6.2
- 1.6.1
- 1.6.0
This package is not auto-updated.
Last update: 2024-09-19 07:43:37 UTC
README
Slim 是一个 PHP 微型框架,帮助您快速编写简单而强大的 Web 应用程序和 API。Slim 适合初学者和专业人士使用。Slim 优先考虑简洁性而不是简洁性,以及常见情况而不是边缘情况。其接口简单、直观,并且有广泛的文档——在线和代码本身。感谢您选择 Slim 框架作为您的下一个项目。我相信您会喜欢它的。
功能
- 强大的路由器
- 标准自定义 HTTP 方法
- 带有通配符和条件的路由参数
- 路由重定向、停止和传递
- 路由中间件
- 资源定位器和依赖注入容器
- 自定义视图的模板渲染
- 闪存消息
- 加密 cookie 数据
- HTTP 缓存
- 自定义日志记录器进行日志记录
- 错误处理和调试
- 中间件和钩子架构
- 简单的配置
入门
安装
您可以使用 Composer(推荐)或手动安装 Slim 框架。
系统要求
您需要 PHP >= 5.3.0。如果您使用加密 cookie,还需要 mcrypt
扩展。
Hello World 教程
实例化 Slim 应用程序
$app = new \Slim\Slim();
定义 HTTP GET 路由
$app->get('/hello/:name', function ($name) { echo "Hello, $name"; });
运行 Slim 应用程序
$app->run();
设置您的 Web 服务器
Apache
确保 .htaccess
和 index.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.config
和 index.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 分支)上。
拉取请求
- 分支 Slim 框架仓库
- 为每个功能或改进创建一个新的分支
- 从每个功能分支向 develop 分支发送拉取请求
将新功能或改进分开到单独的功能分支,并为每个分支发送拉取请求非常重要。这样可以让我单独审查和合并新功能或改进。
风格指南
所有拉取请求都必须遵循 PSR-2 标准。
单元测试
所有拉取请求都必须附有通过单元测试和完整的代码覆盖率。Slim 框架使用 phpunit
进行测试。
社区
论坛和知识库
访问 Slim 的官方论坛和知识库,网址为 http://help.slimframework.com,在那里您可以找到公告,与 Slim 用户聊天,提问,帮助他人,或展示您酷炫的 Slim 框架应用程序。
关注 @slimphp,获取有关框架的新闻和更新。
作者
Slim 框架由 Josh Lockhart 创建和维护。Josh 是 New Media Campaigns 的资深网络开发者。Josh 还创建并维护了 PHP: The Right Way,这是一个在 PHP 社区中流行的运动,旨在向新 PHP 程序员介绍最佳实践和良好信息。
许可
Slim 框架在 MIT 公共许可证下发布。