fulmenef/magephi

PHP 工具箱,用于在 Docker 环境中管理 Magento 2 项目。

安装: 54

依赖项: 0

建议者: 0

安全: 0

星标: 7

关注者: 2

分支: 1

开放问题: 0

类型:application

2.0.1 2023-10-21 14:58 UTC

README

status php symfony GitHub tag (latest by date) GitHub Issues Contributions welcome license

Magephi 是一个基于 Symfony 的 PHP CLI,用于管理 Magento 2 项目环境。

其主要功能是安装/启动/停止环境,但它也可以初始化带有环境的 Magento 2 项目,提供对服务的访问,验证环境是否符合先决条件,导入数据库等。

目前,Magephi 只在 Mac 环境下使用 docker-magento2 进行了测试。

安装

composer global require fulmenef/magephi

用法

# List Magephi commands
magephi 

# Execute a specific command
magephi xxxxx

# Display the help message of a specific command
magephi xxxxx --help

# List all available commands (i.e. Symfony included)
magephi list

演示

demo

功能

通用

  • magephi prerequisites 检查您的系统是否符合使用环境的先决条件。
  • magephi import 用于导入数据库并更新 URL。
  • magephi update 用于更新 Magephi。

环境

  • magephi create 初始化带有环境的新项目。有关命令的更多详细信息,请参阅 此处
  • magephi install 用于安装环境(构建+启动)。
  • magephi status 用于快速查看项目状态(相当于 docker-compose ps 和 mutagen list)。
  • magephi start 用于启动环境。
  • magephi stop 用于停止环境。
  • magephi cache 用于刷新 Magento 和 Redis 缓存。
  • magephi uninstall 用于完全卸载环境。这将删除卷和容器,但不会删除本地系统上的文件。
  • magephi backup|restore 生成或恢复数据库和环境配置的备份。

Docker

  • magephi php|mysql|nginx|redis 用于连接到容器。
  • magephi build 用于构建容器。在构建之前,必须填写 docker/local/.env 文件。

Magento

  • magephi magento:install 用于在安装环境后安装 Magento。

详细信息

项目初始化

您可以使用 magephi create 初始化项目。如果您在一个空目录中,项目将安装在其中,如果不是,您将需要输入项目名称,将创建具有该名称的目录并将其用作工作目录。

同时添加了一些开发依赖项。

此外,还设置了自定义 .gitignore,您可以查看其内容 在此处

Composer
Yarn
Husky和Lint-Staged的配置示例

以下配置将在每次运行git commit时对每个PHP和PHTML文件运行PHPCsFixer和PHPStan,对每个LESS文件运行Stylelint,对javascript文件运行Eslint。

// To be placed at the end of the package.json

"husky": {
    "hooks": {
        "pre-commit": "lint-staged --relative --shell"
    }
},
"lint-staged": {
    "!(app/etc/*).php|*.phtml": [
        "php ./vendor/bin/php-cs-fixer fix --config .php_cs",
        "php ./vendor/bin/phpstan analyze --level=max --no-progress"
    ],
    "app/code/YourVendor/**/*.less|app/design/frontend/YourVendor/**/*.less": [
        "php ./node_modules/.bin/stylelint --fix"
    ],
    "app/code/YourVendor/**/*.js|app/design/frontend/YourVendor/**/*.js": [
        "php ./node_modules/.bin/eslint --fix"
    ]
}

贡献

欢迎提交拉取请求。对于重大更改,请先创建一个问题来讨论您想要进行更改的内容。

如果您希望由Magephi管理您的环境,请创建一个问题。

许可证

MIT