aalfiann / slim-skeleton
这是一个非常简单、快速且安全的slim-skeleton。
1.6.2
2020-03-29 11:38 UTC
Requires
- php: >=5.5
- monolog/monolog: ^1.22
- slim/csrf: ^0.8.3
- slim/flash: ^0.4.0
- slim/http-cache: ^0.4.0
- slim/slim: ^3.1
- slim/twig-view: ^2.1
- twig/twig: ~2.0
README
这是一个非常简单、快速且安全的slim-skeleton。
此骨架使用CSRF进行安全保护,具有快速、简单和模块化架构。
依赖项
- CSRF Guard >> slim/csrf
- TWIG 模板 >> slim/twig-view
- HTTP 缓存 >> slim/http-cache
- Flash 消息 >> slim/flash
- 日志记录器 >> monolog/monolog
安装
通过 Composer 安装此包。
composer create-project aalfiann/slim-skeleton [my-app-name]
入门
如何创建新应用程序
- 进入模块目录
- 创建新的文件夹
my-app
- 要创建路由,应遵循以下模式 >>
*.router.php
- 将视图模板放在
templates/default
目录中 - 完成
如何激活CSRF
CSRF 已集成到此骨架中
- 创建相同的两个路由,GET 和 POST
use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;
// load contact page
$app->get('/contact', function (Request $request, Response $response) {
$body = $response->getBody();
return $this->view->render($response, "contact.twig", []);
})->setName("/contact")->add($container->get('csrf'));
// send message
$app->post('/contact', function (Request $request, Response $response) {
$body = $response->getBody();
return $this->view->render($response, "contact.twig", []);
})->add($container->get('csrf'));
- 在联系表单HTML中放置隐藏的输入值
<input type="hidden" name="{{csrf.keys.name}}" value="{{csrf.name}}">
<input type="hidden" name="{{csrf.keys.value}}" value="{{csrf.value}}">
- 完成
注意
- 有关
Slim
的文档可在 slimframework.com 上找到。 - 这是从原始 slimphp/Slim-Skeleton 分支出来的版本。
- 有一个基于此骨架的 swift 项目,它已经集成了Flat-File、用户会话、授权、验证等。