phpdev-uk/slim-skeleton

Slim 4应用程序骨架

dev-main 2024-08-23 09:58 UTC

This package is auto-updated.

Last update: 2024-09-23 10:13:28 UTC


README

为新的项目提供Slim 4应用程序骨架。

此包通过使用Docker在本地开发环境中创建带有常见依赖项的新Slim 4应用程序来加快启动速度。它仅用于初始启动 - 之后,您应该将更改提交到您自己的Git仓库,并管理您的Composer依赖项。

如果您使用Visual Studio Code,还有一些设置可以集成Xdebug,并忽略第三方库(vendor/)和数据库文件。

安装

通过Composer创建项目(不要使用composer require,因为这会将phpdev-uk/slim-skeleton作为一个依赖项添加)

composer create-project phpdev-uk/slim-skeleton:dev-main my-app

composer.json中设置您的PHP版本。

docker-compose.yml中的任何镜像版本更改以匹配您的生产环境。

.env进行任何更改。

启动Docker

docker-compose up

在浏览器中访问https://docker.localhost

假设

此骨架应用程序对您的应用程序环境有以下假设

  • PHP 8.3
  • 单个MariaDB数据库
  • Debian Bullseye(最新稳定版本)

如果您需要PHP 7.4,请使用php74分支。然而,这不再积极维护,并且只会接收安全更新。

包含的库

虽然您不必使用它们,但此包包括以下库

  • Doctrine ORM:创建映射到数据库结构的PHP类。
  • Doctrine Migrations:管理数据库模式的变化。

如果您在应用程序中使用数据库,上述库可能会使您的生活更加轻松。

中间件

此骨架存储库包含一个AuthRequired中间件类,可用于将路由放置在认证墙后面。您必须确保您的认证代码在用户认证时将$_SESSION['logged_in']设置为true,或者编辑该类以使用您的认证过程。

设置假设您正在使用会话进行认证。为了调用session_start,您必须在.env文件中启用CSRF保护(默认已启用)。不推荐使用没有CSRF的认证。

闪存消息

包含一个非常简单的闪存消息实现。添加到$_SESSION['flash']中的任何内容都将传递到Twig模板中,并且闪存消息将在下一个请求中重置。