phpdev-uk / slim-skeleton
Slim 4应用程序骨架
Requires
- php: >=8.3
- ext-mysqli: *
- doctrine/dbal: ^4
- doctrine/migrations: ^3.5
- doctrine/orm: ^3
- filp/whoops: ^2.14
- php-di/php-di: ^7
- php-di/slim-bridge: ^3.4
- psr/http-message: ^1
- slim/csrf: ^1.3
- slim/http: ^1.3
- slim/psr7: ^1.5
- slim/slim: 4.*
- slim/twig-view: ^3.2
- symfony/cache: ^7
- symfony/console: ^7.1
- symfony/mailer: ^7
- twig/intl-extra: ^3.3
- twig/twig: ^3.3
- vlucas/phpdotenv: ^5.3
Requires (Dev)
- phpstan/phpstan: ^1.4
- phpunit/phpunit: ^11
- squizlabs/php_codesniffer: ^3.6
- symfony/var-dumper: ^7
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模板中,并且闪存消息将在下一个请求中重置。