webgriffe / sylius-upgrade-plugin
帮助您将 Sylius 应用程序升级到新版本。
Requires
- php: ^8.0
- php-http/message-factory: ^1.1
- psr/http-factory: ^1.0
- sylius/sylius: ^1.11.2 || ^1.12 || ^1.13
- symfony/webpack-encore-bundle: ^1.15
- webmozart/glob: ^4.3
Requires (Dev)
- behat/behat: ^3.6.1
- behat/mink-selenium2-driver: ^1.4
- dbrekelmans/bdi: ^1.1
- dmore/behat-chrome-extension: ^1.3
- dmore/chrome-mink-driver: ^2.7
- friends-of-behat/mink: ^1.8
- friends-of-behat/mink-browserkit-driver: ^1.4
- friends-of-behat/mink-debug-extension: ^2.0.0
- friends-of-behat/mink-extension: ^2.4
- friends-of-behat/page-object-extension: ^0.3
- friends-of-behat/suite-settings-extension: ^1.0
- friends-of-behat/symfony-extension: ^2.1
- friends-of-behat/variadic-extension: ^1.3
- mikey179/vfsstream: ^1.6
- phpspec/phpspec: ^7.2
- phpstan/extension-installer: ^1.0
- phpstan/phpstan: ^1.8.1
- phpstan/phpstan-doctrine: 1.3.69
- phpstan/phpstan-strict-rules: ^1.3.0
- phpstan/phpstan-webmozart-assert: ^1.2.0
- phpunit/phpunit: ^10.5
- polishsymfonycommunity/symfony-mocker-container: ^1.0
- robertfausk/behat-panther-extension: ^1.1
- sylius-labs/coding-standard: ^4.2
- sylius-labs/suite-tags-extension: ^0.2
- symfony/browser-kit: ^5.4 || ^6.4
- symfony/debug-bundle: ^5.4 || ^6.4
- symfony/dotenv: ^5.4 || ^6.4
- symfony/flex: ^2.4
- symfony/intl: ^5.4 || ^6.4
- symfony/web-profiler-bundle: ^5.4 || ^6.4
- vimeo/psalm: ^5.24
This package is auto-updated.
Last update: 2024-09-13 13:03:20 UTC
README
升级插件
此插件帮助您将 Sylius 应用程序升级到新版本。
目录
需求
- PHP
^8.0
- Sylius
^1.11.2 || ^1.12 || ^1.13
安装
-
运行
composer require --dev webgriffe/sylius-upgrade-plugin
-
将插件添加到
config/bundles.php
文件中Webgriffe\SyliusUpgradePlugin\WebgriffeSyliusUpgradePlugin::class => ['dev' => true, 'test' => true],
使用
所有功能都作为 控制台命令 实现。
模板更改
bin/console webgriffe:upgrade:template-changes <from-version> <to-version> [--theme=PATH_TO_YOUR_THEME] [--legacy]
打印出在两个指定的 Sylius 版本之间发生更改的模板文件(扩展名为 .html.twig)的列表,以及您项目中已覆盖的文件:在根目录 "templates" 文件夹中,以及在自定义主题中。
您必须指定要计算更改的 从 和 到 版本。
有两个可选参数
- --theme=PATH_TO_YOUR_THEME,指定要搜索更改文件的主题文件夹。路径必须是相对于您的项目的 kernel.project_dir。您可以通过重复使用 --theme 参数指定多个主题,请参阅下面相关部分的示例;
- --legacy,使用旧版主题文件夹结构。从 SyliusThemeBundle 的 v2.0 版本开始,主题文件夹结构已更改。旧结构已被弃用,并在 v3.0 版本中删除,如 此处 所述。
示例
-
在 Sylius v1.8.4 和 v1.8.8 之间发生更改的模板列表,这些模板已覆盖在您的根 templates 文件夹中
bin/console webgriffe:upgrade:template-changes v1.8.4 v1.8.8
-
在 Sylius v1.8.8 和 v1.9.3 之间发生更改的模板列表,这些模板已覆盖在您的根 templates 文件夹中,以及您的 my-website-theme 文件夹中
bin/console webgriffe:upgrade:template-changes v1.8.8 v1.9.3 --theme=themes/my-website-theme
-
与上一个示例类似,但它为多个主题计算更改,其中一个是位于供应商文件夹中的
bin/console webgriffe:upgrade:template-changes v1.8.8 v1.9.3 --theme=themes/my-website-theme --theme=themes/my-other-theme --theme=vendor/acme/my-vendor-theme
装饰服务更改
bin/console webgriffe:upgrade:service-changes <from-version> <to-version> [--theme=PATH_TO_YOUR_THEME] [--legacy]
打印出在两个指定的 Sylius 版本之间发生更改的服务列表,以及您项目中已装饰/覆盖的服务。
您必须指定要计算更改的 从 和 到 版本。
有两个可选参数
- --namespace-prefix=NAMESPACE-PREFIX,您的应用程序服务的命名空间的第一部分,如 "App" 在 "App\Calculator\PriceCalculator" 中。默认值:"App"。
- --alias-prefix=ALIAS-PREFIX,您的应用程序服务的别名的前一部分,如 "app" 在 "app.calculator.price" 中。默认值:"app"。
示例
-
在 Sylius v1.11.0 和 v1.13.0 之间发生更改的服务列表,这些服务已在您的项目中装饰
bin/console webgriffe:upgrade:service-changes v1.11.0 v1.13.0
-
在 Sylius v1.11.0 和 v1.13.0 之间发生更改的服务列表,这些服务已在您的项目中装饰,但具有自定义命名空间和别名前缀
bin/console webgriffe:upgrade:service-changes v1.11.0 v1.13.0 --namespace-prefix="Webgriffe" --alias-prefix="webgriffe"
贡献
要为此插件做出贡献,请克隆此存储库,为您的功能或错误修复创建分支,进行更改,然后确保所有测试都通过。
```bash
$ (cd tests/Application && yarn install)
$ (cd tests/Application && yarn build)
$ (cd tests/Application && APP_ENV=test bin/console assets:install public)
$ (cd tests/Application && APP_ENV=test bin/console doctrine:database:create)
$ (cd tests/Application && APP_ENV=test bin/console doctrine:schema:create)
```
要能够设置插件数据库,请记住在 tests/Application/.env
和 tests/Application/.env.test
中配置您的数据库凭据。
运行插件测试
-
PHPUnit
vendor/bin/phpunit
-
PHPSpec
vendor/bin/phpspec run
-
静态分析
-
Psalm
vendor/bin/psalm
-
PHPStan
vendor/bin/phpstan analyse
-
-
编码标准
vendor/bin/ecs check
许可
此插件遵循MIT许可协议。请参阅LICENSE文件中的完整许可协议。
致谢
由Webgriffe®开发。