samuelgfeller / slim-starter
Slim 4 前端和 API 端点启动器
Requires
- php: ^8.2
- ext-gettext: *
- ext-intl: *
- ext-json: *
- ext-pdo: *
- cakephp/database: ^5
- cakephp/validation: ^5.0
- fig/http-message-util: ^1.1
- monolog/monolog: ^3
- nyholm/psr7: ^1.5
- nyholm/psr7-server: ^1.1
- php-di/php-di: ^7.0
- samuelgfeller/slim-error-renderer: ^1
- selective/basepath: ^2.0
- slim/php-view: ^3.0
- slim/slim: ^4
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-25 11:37:14 UTC
README

Slim Starter
Slim 4 全栈启动模板,遵循 2024 年最佳实践和 SOLID 原则,快速开始可扩展的 PHP 网络应用程序。
详细的 文档 解释了 架构、组件、设计选择(例如 SRP)和功能。
库 尽量保持最小化,以允许最大灵活性和长期可行性。
功能
此项目的基础是官方的 Slim-Skeleton 和 Odan 的 slim4-skeleton,但增加了很多有见地的功能和示例,如
- 由模板渲染器渲染的页面,具有布局和版本化资源
- 通过 Ajax 从数据库(用户)加载示例元素
- 带有验证的用户创建、修改和删除
- 集成测试
- API 端点
- 深色/浅色主题切换
此骨架模板是包含更多功能和示例的 slim-example-project 的简化版本。
技术
- Slim 4 微框架
- 依赖注入 - PHP-DI
- 模板渲染 - PHP-View(可以替换为 Twig)
- 日志记录 - Monolog
- 数据库迁移 - Phinx
- 验证 - cakephp/validation
- 查询构建器 - cakephp/database
- 集成测试 - PHPUnit
- 错误处理 - slim-error-renderer
- GitHub Actions 和 Scrutinizer
- 编码规范修复工具 - PHP-CS-Fixer
- 静态代码分析 - PHPStan
需求
- PHP 8.2+
- Composer
- MariaDB 或 MySQL 数据库
安装
1. 创建项目
导航到您想创建项目的目录,并运行以下命令,将 project-name
替换为您项目的所需名称。
composer create-project samuelgfeller/slim-starter project-name
这将创建一个具有指定名称的新目录,并安装所有必要的依赖项。
2. 设置数据库
在您的 IDE 中打开项目,将文件 config/env/env.example.php
重命名为 config/env/env.php
并添加本地数据库凭据。
然后,为项目创建数据库,并将其名称添加到 config/env/env.dev.php
文件中,如下所示
$settings['db']['database'] = 'my_dev_database_name';
之后,为测试创建一个单独的数据库,并将其名称添加到 config/env/env.test.php
文件中。
出于安全措施,数据库名称必须包含单词 "test",以防止在测试过程中意外截断开发数据库。
$settings['db']['database'] = 'my_dev_database_name_test';
配置 文档详细说明了不同的配置文件以及它们的使用和加载方式。
3. 运行迁移
在项目的根目录中打开终端,并运行以下命令以创建演示表 user
composer migrate
4. 插入演示数据
可以通过运行以下命令将四个演示用户插入到数据库中,以测试应用程序和 API 响应
composer seed
5. 更新 GitHub 工作流程
要使在推送时自动运行项目测试,更新 .github/workflows/build.yml
文件。
将矩阵值 "test-database" 替换为在 config/env/env.test.php
中指定的测试数据库名称。
如果您不打算使用 Scrutinizer,请从项目的根目录中删除 .scrutinizer
文件,否则可以遵循此 指南 来设置它。
完成!
这就完成了!您的项目现在应该已经完全设置并准备好使用了。
如果您使用 XAMPP 并将项目安装到 htdocs
文件夹中,您可以通过浏览器在 https:///project-name
访问它。
或者您可以在项目根目录中运行 php -S localhost:8080 -t public/
来本地提供服务。
支持
如果您珍视此项目和其文档并希望支持它,请阅读 支持❤️ 页面。
许可
本项目采用 MIT 许可证 — 请参阅 LICENSE 文件以获取详细信息。