Skip to content

Development

Development

After installation, use this guide for building, extending, and debugging Shopware during development. The development path depends on what is being built:

  • Build an Extension: Plugins, apps, themes, and Admin or Storefront extensions.
  • Work with APIs: Making API requests, integrating ERP and external systems, and building headless storefronts.

All development scenarios share common foundations:

  • APIs
  • Testing
  • Tooling
  • CLI and system commands
  • Configuration
  • Debugging

Before starting new development, review the recommended Code structure guide. A consistent architecture prevents long-term maintenance issues and reduces upgrade friction.

Also review the Upgrades and Migrations section to avoid patterns that are deprecated or scheduled for removal.

Extension development

To build an Extension, first choose the correct type:

  • Plugin
  • App
  • Plugin-based theme

Each extension guide walks you through the full development flow: creation → lifecycle → implementation → testing.

To sell an extension or offer paid features, see the Monetization guide for available models such as paid extensions, In-App Purchases, and commission-based integrations.

Typical development workflow

Most development follows this sequence:

  • Set up the environment
  • Create the project or extension
  • Install and activate it
  • Implement business logic
  • Extend Storefront or Administration
  • Add configuration or database changes (if required)
  • Test and debug

Upgrade impact in real projects

Upgrade complexity depends on the installation:

  • Heavy custom code increases migration effort.
  • No custom code, but 60 Store plugins can be equally complex.
  • Most real-world projects fall somewhere in between.

A consistent architecture, centralized CI, and controlled extension strategy help you get ahead of upgrade pain.

Set up automated testing and Continuous Integration (CI) early. Static analysis, tests, and reproducible builds help catch breaking changes before they reach production.

Working in the system

Administration

Development requires access to the Administration at http://localhost/admin.

Use the Administration to:

  • Install and activate extensions
  • Configure the system
  • Manage entities such as products and customers
  • Verify extension behavior

The Administration is part of the runtime environment and will be used throughout development.

Development tooling

  • bin/console: Shopware's built-in CLI, used for installing and activating plugins, running database migrations, clearing caches, executing scheduled tasks, and inspecting system state. See command reference guide.
  • The standalone Shopware CLI supports project scaffolding, CI/CD workflows, automation tasks, and more. See the helper commands guide.
  • IDE support: Shopware provides a PHPStorm plugin and VS Code extension.
  • Deployment Helper: Supports database and maintenance operations for deployments (e.g., migrations, cache handling).

Troubleshooting

The troubleshooting guides provide reference information about the data abstraction layer (DAL), flow, and rules.

Next steps

Move on to the Start Developing guide.

Was this page helpful?
UnsatisfiedSatisfied
Be the first to vote!
0.0 / 5  (0 votes)