ddlzz/symfony-docker-website-skeleton

一个用于在 Docker 容器中运行方便开发的 Symfony 应用的项目模板。

安装: 48

依赖者: 0

建议者: 0

安全: 0

星标: 6

关注者: 3

分支: 1

开放问题: 0

语言:Makefile

类型:模板

3.1.0 2024-06-24 20:45 UTC

This package is auto-updated.

Last update: 2024-09-24 21:20:58 UTC


README

Latest Stable Version

以下配置的项目模板

  1. 最新的稳定 Symfony 框架(目前为 6.4 版),可以指定版本
  2. PHP 8.3
  3. PostgreSQL 16.3(可以在 docker compose 文件中更改)?
  4. 独立的 Docker 容器用于 Nginx、FPM、CLI 和数据库
  5. 内置 CS-Fixer 和 Psalm

概念

  1. 应用程序和 docker 文件位于同一级别:分别位于 /app/docker 文件夹中。这允许您分离 symphony-application 和 docker 环境变量,并在必要时添加新文件夹以实现单一代码库模式:/centrifugos3-storage 等。
  2. 默认情况下,compose.override.yaml 被忽略,因此您可以添加自己的设置,而不用担心覆盖原始设置。

快速开始

创建新项目的单行命令:composer create-project ddlzz/symfony-docker-website-skeleton local_project_path && make setup-configs && make init OPTIONS="webapp" && make up

分解为步骤

  1. composer create-project ddlzz/symfony-docker-website-skeleton local_project_path
  2. make setup-configs - 为 docker 容器创建 .env 文件
  3. make init OPTIONS="webapp" - 非常重要!在向您的 repo 提交任何更改之前运行它。如果您不需要使用 webapp,可以省略 OPTIONS 参数。
  4. make up - 启动 docker 容器

每个创建的项目默认端口是随机分配的(47001-47999),因此请点击 CLI 中 make up 命令输出的链接并享受!

您还可以在生成的 /.env 文件中手动设置 Nginx 和 PostgreSQL 的所需端口(别忘了之后运行 make restart)。

标志

运行 make init 时,可以使用以下标志

  • OPTIONS="webapp":包括 web application 功能。对于基本的 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 一起使用,您需要执行以下操作

  1. Settings -> Languages & Frameworks -> PHP 选项卡中从 php-fpm 容器创建 PHP 解释器;确保 Xdebug 在容器中正常工作。
  2. Settings -> Languages & Frameworks -> PHP -> Debug -> Xdebug -> Debug 菜单中输入端口号 9009
  3. Settings -> Languages & Frameworks -> PHP -> Servers 菜单中创建一个名为 Docker 的服务器(它与 IDE 配置中两个解释器的 ServerName 字段值匹配)。
  4. 如果需要,在 PHP 解释器中正确映射 Settings -> Languages & Frameworks -> PHP -> Path Mappings
  5. 点击 Listen for PHP debug connections 按钮;如果您有任何问题,请阅读 文档

有用的 makefile 命令

  1. make console - 默认 shell 是 zsh,带有预安装的插件集 插件
  2. make test - PHPUnit 测试
  3. make cs - PHP CS-fixer,使用预定义的 规则集
  4. make psalm - Psalm(默认级别为 1)