lcloss / slim2
由 Slim 框架衍生而来,一个 PHP 微型框架(http://github.com/codeguy/Slim)
Requires
- php: ^7.4 || ^8.0
- ext-json: *
- nikic/fast-route: ^1.3
- psr/container: ^1.0 || ^2.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 || ^2.0 || ^3.0
Requires (Dev)
- ext-simplexml: *
- adriansuter/php-autoload-override: ^1.3
- guzzlehttp/psr7: ^2.4
- httpsoft/http-message: ^1.0
- httpsoft/http-server-request: ^1.0
- laminas/laminas-diactoros: ^2.17
- nyholm/psr7: ^1.5
- nyholm/psr7-server: ^1.0
- phpspec/prophecy: ^1.15
- phpspec/prophecy-phpunit: ^2.0
- phpstan/phpstan: ^1.8
- phpunit/phpunit: ^9.5
- slim/http: ^1.2
- slim/psr7: ^1.5
- squizlabs/php_codesniffer: ^3.7
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.11.0
- 4.10.0
- 4.9.0
- 4.8.1
- 4.8.0
- 4.7.1
- 4.7.0
- 4.6.0
- 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.4
- 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.0-beta1
- 2.x-dev
- 2.6.3.5
- 2.6.3.4
- 2.6.3.3
- 2.6.3.2
- 2.6.3.1
- 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 auto-updated.
Last update: 2024-08-26 19:12:07 UTC
README
Slim 是一个 PHP 微型框架,可以帮助您快速编写简单而强大的 Web 应用程序和 API。Slim 对初学者和专业人士都易于使用。Slim 倾向于简洁性而非简洁性,以及常规情况而非边缘情况。其接口简单、直观,且具有广泛的在线和代码本身文档。感谢您选择 Slim 框架作为您的下一个项目。我想您会喜欢它的。
特性
- 强大的路由器
- 标准和自定义 HTTP 方法
- 带有通配符和条件的路由参数
- 路由重定向、停止和传递
- 路由中间件
- 资源定位器和 DI 容器
- 使用自定义视图进行模板渲染
- 闪存消息
- 加密饼干数据
- HTTP 缓存
- 使用自定义日志记录器的日志记录
- 错误处理和调试
- 中间件和钩子架构
- 简单的配置
入门指南
安装
您可以使用 Composer(推荐)或手动安装 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
确保 .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 根目录)。
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.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 的高级网页开发人员,网址为 http://www.newmediacampaigns.com/。Josh 还创建并维护了 PHP: The Right Way,这是一个在 PHP 社区中流行的运动,旨在向新的 PHP 程序员介绍最佳实践和良好的信息。
许可证
Slim 框架在 MIT 公共许可证下发布。