Skeleton for starting Sylius plugins.
For a comprehensive guide on Sylius Plugins development please go to Sylius documentation, there you will find the Plugin Development Guide, that is full of examples.
For more information about the Test Application included in the skeleton, please refer to the Sylius documentation.
Run composer create-project sylius/plugin-skeleton ProjectName
.
-
From the plugin skeleton root directory, run the following commands:
(cd vendor/sylius/test-application && yarn install) (cd vendor/sylius/test-application && yarn build) vendor/bin/console assets:install vendor/bin/console doctrine:database:create vendor/bin/console doctrine:migrations:migrate -n # Optionally load data fixtures vendor/bin/console vendor/bin/console sylius:fixtures:load -n
To be able to set up a plugin's database, remember to configure your database credentials in tests/Application/.env
and tests/Application/.env.test
.
-
Run your local server:
symfony server:ca:install symfony server:start -d
-
Open your browser and navigate to
https://localhost:8000
.
-
Execute
make init
to initialize the container and install the dependencies. -
Execute
make database-init
to create the database and run migrations. -
(Optional) Execute
make load-fixtures
to load the fixtures. -
Your app is available at
http://localhost
.
-
PHPUnit
vendor/bin/phpunit
-
PHPSpec
vendor/bin/phpspec run
-
Behat (non-JS scenarios)
vendor/bin/behat --strict --tags="~@javascript&&~@mink:chromedriver"
-
Behat (JS scenarios)
-
Start Headless 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
- Install SSL certificates (only once needed) and run test application's webserver on
127.0.0.1:8080
:
symfony server:ca:install APP_ENV=test symfony server:start --port=8080 --daemon
- Run Behat:
vendor/bin/behat --strict --tags="@javascript,@mink:chromedriver"
-
Static Analysis
-
PHPStan
vendor/bin/phpstan analyse -c phpstan.neon -l max src/
-
-
Coding Standard
vendor/bin/ecs check
-
Using
test
environment:APP_ENV=test vendor/bin/console vendor/bin/console sylius:fixtures:load -n APP_ENV=test symfony server:start -d
-
Using
dev
environment:vendor/bin/console vendor/bin/console sylius:fixtures:load -n symfony server:start -d