pocky / modern-plugin-skeleton
Acme的现代Sylius插件示例。
dev-main
2023-04-04 12:52 UTC
Requires
- php: ^8.2
- sylius/mailer-bundle: ^1.8 || ^2.0@beta
- sylius/sylius: ^1.12
- symfony/webpack-encore-bundle: ^1.15
Requires (Dev)
- behat/behat: ^3.7
- behat/mink-selenium2-driver: ^1.4
- 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
- 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
- lchrusciel/api-test-case: ^5.0
- phpspec/phpspec: ^7.2
- phpstan/extension-installer: ^1.0
- phpstan/phpstan: ^1.8.4
- phpstan/phpstan-doctrine: ^1.3.37
- phpstan/phpstan-strict-rules: ^1.3.0
- phpstan/phpstan-webmozart-assert: ^1.2.0
- phpunit/phpunit: ^9.5
- polishsymfonycommunity/symfony-mocker-container: ^1.0
- stripe/stripe-php: ^6.43
- sylius-labs/coding-standard: ^4.0
- sylius/sylius-rector: 0.11.x-dev
- symfony/browser-kit: ^6.0
- symfony/debug-bundle: ^6.0
- symfony/dotenv: ^6.0
- symfony/flex: ^2.2.2
- symfony/intl: ^6.0
- symfony/web-profiler-bundle: ^6.0
- vimeo/psalm: ^5.8.0
This package is auto-updated.
Last update: 2024-09-04 16:15:55 UTC
README
现代插件骨架
用于开始Sylius插件的现代骨架。
警告
此插件不遵循标准Sylius插件目录结构,而是使用新的“Symfony标准骨架”以及PHP中的服务声明(实际上Symfony正在放弃xml以使用PHP)。
新目录结构
├── assets
├── bin
├── config
├── docs
├── etc
├── features
├── public
├── src
├── templates
├── tests
└── translations
信息
- GitHub上的相关pull request(Symfony):symfony/symfony#32845
- Symfony Bundle文档:https://github.com/yceruto/acme-bundle
快速开始安装(docker)
-
运行
composer create-project pocky/modern-plugin-skeleton ProjectName dev-main
或克隆此项目 -
从插件骨架根目录,运行以下命令
$ chmod -Rf 777 tests/Application/var $ docker compose up -d $ docker compose exec php php -d memory_limit=-1 /usr/bin/composer install $ docker compose exec nodejs yarn --cwd tests/Application install $ docker compose exec php tests/Application/bin/console doctrine:database:create --if-not-exists -vvv $ docker compose exec php tests/Application/bin/console doctrine:schema:create -vvv $ docker compose exec php tests/Application/bin/console assets:install tests/Application/public -vvv $ docker compose exec nodejs yarn --cwd tests/Application build $ docker compose exec php tests/Application/bin/console cache:warmup -vvv $ docker compose exec php tests/Application/bin/console sylius:fixtures:load -n
质量工具
$ docker compose exec php composer validate --ansi --strict $ docker compose exec php vendor/bin/phpstan analyse -c phpstan.neon -l max src/ $ docker compose exec php vendor/bin/psalm $ docker compose exec php vendor/bin/phpspec run --ansi -f progress --no-interaction $ docker compose exec php vendor/bin/phpunit --colors=always $ docker compose exec php vendor/bin/behat --profile docker --colors --strict -vvv --no-interaction
ProTip 使用 Makefile
;)
官方文档
有关Sylius插件开发的全面指南,请访问Sylius文档,在那里您可以找到插件开发指南,其中包含大量示例。
快速开始安装(旧版)
-
运行
composer create-project pocky/modern-plugin-skeleton ProjectName
。 -
从插件骨架根目录,运行以下命令
$ (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
-
Behat(非JS场景)
vendor/bin/behat --strict --tags="~@javascript"
-
Behat(JS场景)
-
启动无头Chrome
google-chrome-stable --enable-automation --disable-background-networking --no-default-browser-check --no-first-run --disable-popup-blocking --disable-default-apps --allow-insecure-localhost --disable-translate --disable-extensions --no-sandbox --enable-features=Metal --headless --remote-debugging-port=9222 --window-size=2880,1800 --proxy-server='direct://' --proxy-bypass-list='*' http://127.0.0.1
- 安装SSL证书(只需一次)并在
127.0.0.1:8080
上运行测试应用程序的web服务器
symfony server:ca:install APP_ENV=test symfony server:start --port=8080 --dir=tests/Application/public --daemon
- 运行Behat
vendor/bin/behat --strict --tags="@javascript"
-
静态分析
-
Psalm
vendor/bin/psalm
-
PHPStan
vendor/bin/phpstan analyse -c phpstan.neon -l max src/
-
-
编码规范
vendor/bin/ecs check src
使用您的插件打开Sylius
-
使用
test
环境(cd tests/Application && APP_ENV=test bin/console sylius:fixtures:load) (cd tests/Application && APP_ENV=test bin/console server:run -d public)
-
使用
dev
环境(cd tests/Application && APP_ENV=dev bin/console sylius:fixtures:load) (cd tests/Application && APP_ENV=dev bin/console server:run -d public)