pocky/modern-plugin-skeleton

Acme的现代Sylius插件示例。

安装: 11

依赖: 0

建议者: 0

安全: 0

星级: 9

关注者: 3

分支: 4

开放问题: 0

类型:sylius-plugin


README

现代插件骨架

用于开始Sylius插件的现代骨架。

警告

此插件不遵循标准Sylius插件目录结构,而是使用新的“Symfony标准骨架”以及PHP中的服务声明(实际上Symfony正在放弃xml以使用PHP)。

新目录结构

├── assets
├── bin
├── config
├── docs
├── etc
├── features
├── public
├── src
├── templates
├── tests
└── translations

信息

快速开始安装(docker)

  1. 运行 composer create-project pocky/modern-plugin-skeleton ProjectName dev-main 或克隆此项目

  2. 从插件骨架根目录,运行以下命令

$ 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文档,在那里您可以找到插件开发指南,其中包含大量示例。

快速开始安装(旧版)

  1. 运行 composer create-project pocky/modern-plugin-skeleton ProjectName

  2. 从插件骨架根目录,运行以下命令

    $ (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/.envtests/Application/.env.test中配置您的数据库凭据。

用法

运行插件测试

  • PHPUnit

    vendor/bin/phpunit
  • PHPSpec

    vendor/bin/phpspec run
  • Behat(非JS场景)

    vendor/bin/behat --strict --tags="~@javascript"
  • Behat(JS场景)

    1. 安装Symfony CLI命令.

    2. 启动无头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
    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
    1. 运行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)