abuzikhin/symfony-mysql-docker-skeleton

一个用于在Docker容器内方便开发的Symfony应用程序的项目模板。

安装: 1

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 0

分支: 1

语言:Makefile

类型:template

dev-main 2024-08-25 12:08 UTC

This package is not auto-updated.

Last update: 2024-09-23 10:41:04 UTC


README

Latest Stable Version

以下配置的项目模板

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

概念

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

快速开始

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

分解为步骤

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

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

您也可以在生成的/.env文件中手动设置Nginx和MySQL的期望端口(之后别忘了运行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 VERSION=6.4
make init OPTIONS="webapp" VERSION=7.2

配置PhpStorm IDE的Xdebug设置

要在创建的项目中将Xdebug与PhpStorm集成,您需要执行以下操作

  1. 从项目的php-fpm容器中,在设置 -> 语言与框架 -> PHP选项卡中创建一个PHP解释器;确保在容器中Xdebug可以正常工作。
  2. 设置 -> 语言与框架 -> PHP -> 调试 -> Xdebug -> 调试菜单中输入端口号9009
  3. 设置 -> 语言与框架 -> PHP -> 服务器菜单中创建一个名为Docker的服务(它与IDE配置中两个解释器的ServerName字段的值相匹配)。
  4. 如果需要,在PHP解释器的设置 -> 语言与框架 -> PHP -> 路径映射中做出适当的映射。
  5. 点击按钮监听PHP调试连接;如果您有任何疑问,请阅读文档

有用的makefile命令

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