fulmenef / magephi
PHP 工具箱,用于在 Docker 环境中管理 Magento 2 项目。
2.0.1
2023-10-21 14:58 UTC
Requires
- php: >=8.1
This package is auto-updated.
Last update: 2024-09-21 17:04:14 UTC
README
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
演示
功能
通用
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
- Docker Magento 2:项目的 Docker 环境
- PhpStan:PHP 静态代码分析器
- PhpStan 扩展用于 Magento
- PhpCsFixer:自动修复 PHP 编码标准问题的工具
- Security Checker:命令行工具,检查应用程序是否使用已知安全漏洞的依赖项
- Security Advisories:Composer 工具,有助于防止安装具有已知漏洞的包
Yarn
- Husky:在 Git 钩子上触发操作的工具
- Lint-Staged:用于在 Husky 上应用检查的代码检查器
- Eslint:JavaScript的静态代码分析器
- Magento的Eslint扩展
- Stylelint:LESS/CSS文件的代码检查器
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管理您的环境,请创建一个问题。