alyamovsky / symfony-docker-skeleton
一个用于在 Docker 容器中运行以方便开发的 Symfony 应用程序项目模板。
    3.1.0
    2024-06-24 20:45 UTC
README
以下配置的项目模板
- 最新的稳定版 Symfony 框架(目前为 6.4),可以指定版本
- PHP 8.3
- PostgreSQL 16.3(可以在 docker compose 文件中修改)?
- Nginx、FPM、CLI 和数据库分别运行在独立的 Docker 容器中
- 内置 CS-Fixer 和 Psalm
概念
- 应用程序和 docker 文件位于同一级别:分别位于 /app和/docker文件夹中。这允许您分别设置 symphony 应用程序和 docker 环境变量,并在必要时通过添加新的文件夹实现单一代码库模式:/centrifugo、s3-storage等。
- 默认情况下会忽略 compose.override.yaml,因此您可以添加自己的设置而不用担心覆盖原始设置。
快速开始
创建新项目的单行命令:composer create-project ddlzz/symfony-docker-website-skeleton local_project_path && make setup-configs && make init OPTIONS="webapp" && make up
分步进行
- composer create-project ddlzz/symfony-docker-website-skeleton local_project_path
- make setup-configs- 为 docker 容器创建 .env 文件
- make init OPTIONS="webapp"- 非常重要!在向您的仓库提交任何更改之前运行它。如果您不需要使用 webapp,可以省略- OPTIONS参数。
- make up- 启动 docker 容器
每个创建的项目默认端口是随机的(47001-47999),因此请点击 CLI 中 make up 命令输出的链接并享受吧!
您还可以在生成的 /.env 文件中手动设置 Nginx 和 PostgreSQL 的所需端口(别忘了之后运行 make restart)。
标志
运行 make init 时,可以使用以下标志
- OPTIONS="webapp":包括 Web 应用程序 功能。对于基本的- symfony/skeleton设置,可以省略。
- VERSION=X.Y:指定 Symfony 版本。默认为最新的稳定版本,目前为 6.4。
示例
make init OPTIONS="webapp"
make init VERSION=7.2
make init OPTIONS="webapp" VERSION=7.2
配置 PhpStorm IDE 的 Xdebug 设置
要在创建的项目中集成 Xdebug 和 PhpStorm,您需要执行以下操作
- 在 Settings -> Languages & Frameworks -> PHP选项卡中创建 php-fpm 容器中的 PHP 解释器;确保容器中 Xdebug 正确运行。
- 在 Settings -> Languages & Frameworks -> PHP -> Debug -> Xdebug -> Debug菜单中输入端口号9009。
- 在 Settings -> Languages & Frameworks -> PHP -> Servers菜单中创建名为Docker的服务器(它与 IDE 配置中两个解释器的ServerName字段值相匹配)。
- 如有必要,在 PHP 解释器的 Settings -> Languages & Frameworks -> PHP -> Path Mappings中进行适当的映射。
- 点击 Listen for PHP debug connections按钮;如果您有任何问题,请阅读 文档。
有用的 makefile 命令
- make console- 默认 shell 是预安装插件集的 zsh
- make test- PHPUnit 测试
- make cs- 使用预定义的规则集的PHP CS-fixer
- make psalm- Psalm(默认级别为1)