4xxi / skeleton
Requires
- php: ^7.3
- ext-ctype: *
- ext-iconv: *
- symfony/flex: ^1.3.1
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.14
- phpstan/phpstan: ^0.12
- vimeo/psalm: ^3.8
- weirdan/doctrine-psalm-plugin: ^0.8.0
Conflicts
Replaces
README
4xxi Symfony Skeleton 是官方 Symfony Skeleton (使用 Symfony Flex 创建新项目的推荐方式) 的扩展。它的主要思想是保持官方 Skeleton 的简洁性,同时添加 4xxi 在开发大多数项目时必需的依赖和默认配置。它包含基本的 Symfony Skeleton 以及以下附加内容
- 生产环境所需的最低限度必须拥有的包集
- ORM 包 (Doctrine + 迁移)
- FrameworkExtraBundle (注解)
- MonologBundle
- Sensiolabs SecurityChecker
- 开发必需的一组包和工具
- PHP CS Fixer
- Psalm
- PhpStan
- PhpUnit
- 调试包 (调试 + 分析器 + 溢出)
- 针对 Linux 和 MacOS 开发优化的 Docker Compose 和 Docker Sync 配置
- README.md 安装说明模板
创建新项目
使用 4xxi Symfony Skeleton 创建新项目与运行以下命令一样简单
composer create-project 4xxi/skeleton <project_name>
其中 <project_name>
是您想要设置新项目的目录。新项目在完成此步骤后即可立即进行开发。
附加配置
Docker
4xxi Symfony Skeleton 附带了适用于 Linux 和 MacOS 本地开发的 Docker 配置(包括 PHP 7.1、nginx 和 PostgreSQL)。
- 按照
docker-sync.yml
和docker-compose-sync.yml
中的说明操作,并使用您的项目实际名称更新project_name-data-sync
卷。这是为了保持用于 Docker Sync 的数据卷的唯一名称,以便多个项目同时开发的开发者使用。 - 可选:按照
config/docker/php/Dockerfile
中的说明添加额外的 PHP 扩展到 PHP Docker 容器。 - 可选:在
docker-compose.yml
中添加额外的服务(如 Redis、RabbitMQ、Elasticsearch)。
添加项目所需的包和依赖
使用 Flex 创建的项目默认只包含最小数量的依赖。大多数之前作为 Symfony Standard Edition 部分的额外组件都没有安装,因此如果您确实需要它们,您需要安装它们。
大多数组件可以通过运行以下命令进行安装和自动配置
composer req <component>
可能需要用于项目的常见组件列表
- api
- asset
- twig
- workflow
- web-link
更新安装说明
完成前面的步骤后,更新安装说明并删除此文件中所有高于它们的说明。
安装说明
以下所有内容都是安装说明的模板。应更新为设置项目的完整步骤。
要求
- Docker 和 Docker Compose
- [仅限 MacOS]: Docker Sync(运行
gem install docker-sync
以安装它)
配置
应用程序配置存储在 .env
文件中。
运行 cp .env.dist .env
以应用本地安装的默认配置。
HTTP 端口
如果您已安装 nginx 或 apache 并在主机系统上使用 80 端口,您可以在继续之前停止它们或通过更改 .env
文件中的 EXTERNAL_HTTP_PORT
的值重新配置 Docker 以使用另一个端口。
应用程序环境
您可以通过更改 .env
文件中的 APP_ENV
变量将应用程序环境更改为 dev
或 prod
。
数据库名称和凭证
可以通过修改以 POSTGRES
前缀开始的变量来重新配置数据库名称和凭证,在 .env
文件中。建议在更改这些值后重启容器(容器启动时会自动创建新的数据库)。
安装
1. 启动容器并安装依赖项
在 Linux 上
docker-compose up -d
在 MacOS 上
docker-sync-stack start
2. 运行迁移,安装数据样本
docker-compose exec php bin/console doctrine:migrations:migrate
3. 构建 frontend
在此处放置构建 frontend 的说明。
4. 打开项目
只需访问 https://
应用命令
在此处添加应用特定的控制台命令及其描述。
有用的命令和快捷方式
快捷方式
建议为以下常用容器命令添加简短的别名
docker-compose exec php php
在容器中运行 phpdocker-compose exec php composer
运行 composerdocker-compose exec php bin/console
运行 Symfony CLI 命令docker-compose exec db psql
运行 PostgreSQL 命令
检查代码风格和运行测试
通过运行 PHP CS Fixer 修复代码风格
docker-compose exec php vendor/bin/php-cs-fixer fix
运行 PHP 单元测试
docker-compose exec php bin/phpunit