lezhnev74 / blank
一个空白项目
1.0.3
2020-03-12 14:00 UTC
Requires (Dev)
- roave/security-advisories: dev-master
This package is auto-updated.
Last update: 2024-08-27 15:05:26 UTC
README
本项目是一个无框架基础,用于新的PHP后端应用程序。它设计为3层:应用层、领域层和基础设施层。它可能包含一个不错的初始功能集,满足您可能的需求。
本项目旨在在包的选择上保持自由。不包括任何大型框架,只包含一些流行的开源包,每个包都可以替换或卸载。这是我的舒适默认设置,我对此感到满意。
Docker 和 ./develop
工具
本项目需要安装 Docker,并附带配置好的 docker-compose.yml
文件。您可以根据需要调整它,默认情况下,它包含 PHP 7.4 镜像。./develop
是一个代理工具,用于在容器内部传递命令(通过 docker-compose
)。查看内部,它支持许多有用的命令
php
composer
test
debug
serve
migrate
安全网
此软件包附带一组质量保证工具,强制执行高编码实践
phpcs
phpcbf
phpstan
deptrac
本项目附带一个 git 钩,即 .githooks/pre-commit
。在安装过程中自动配置(见 composer.json
中的 scripts
部分)。它将在新提交时检查您的代码,并在 .qa-report.txt
文件中输出错误。
文件夹
docker
- 配置 PHP 镜像docs
- OpenAPI 参考,请参阅 Stoplight Studioweb
- 服务器根目录src
- 所有代码都放在这里,按照层划分。Domain
- 核心逻辑Application
- 面向用户的逻辑,用例Infrastructure
- 低级别细节和实现
tests
- 所有测试都放在这里storage
- 所有数据和资源都保存在这里(包括日志)
安装
- 从此仓库创建新项目
composer create-project --prefer-source lezhnev74/blank ./
- 安装依赖项的新版本
./develop composer require \ php-di/php-di \ phlak/config vlucas/phpdotenv \ monolog/monolog \ nesbot/carbon \ doctrine/dbal doctrine/migrations \ slim/psr7 slim/slim \ danielstjules/stringy voku/arrayy ramsey/uuid \ webmozart/assert
./develop composer require --dev \ mockery/mockery \ phpstan/phpstan \ phpunit/phpunit \ squizlabs/php_codesniffer
安装后
在所有大型部分完成后,可能需要进行手动配置
- 使用
git init
初始化 git- 通过 git 钩配置质量检查(通过 git 钩):
./develop composer run init-git-hook
- 运行并确保 git 钩可执行:
./.git/hooks/pre-commit
- 通过 git 钩配置质量检查(通过 git 钩):
- 检查是否存在
.env
文件 - 将根命名空间从
Blank\
全局替换为MyProject\
(不仅是在 php 文件中,而是在任何地方)。 - 运行
./develop php -v
和./develop test
以确认 PHP 容器可运行
数据库和迁移
本项目附带 doctrine/dbal
和 doctrine/migrations
。因此,您可以在 src/Infrastructure/config.php
中调整数据库配置。迁移也在两个文件中配置:cli-config.php
和 migrations.php
。