---
title: Basic Plugin Development | Shopware Community Hub
description: >-
  Learn the fundamentals of Shopware plugin development, including architecture,
  controllers, data extension, and debugging techniques.
canonical_url: 'https://hub.shopware.com/learn/course/basic-plugin-development'
---

# Basic Plugin Development

<LearningObjectives>

- Create and activate a **minimal plugin** as a hands-on starting point.
- Understand the **core architectural patterns** that Shopware inherits from Symfony.
- Learn the **basic plugin structure** and how to create a plugin via CLI.
- Understand the **Dependency Injection (DI) container** and how to use it to inject services.
- Learn how to **create and use storefront controllers** in a Shopware plugin.
- Understand how to **extend entities** and **add custom data** to products.
- Use **debugging tools** to inspect and improve your code.

</LearningObjectives>

# Basic Plugin Development

In this course, you will learn the basics of Shopware plugin development—from your first active plugin to custom controllers, product data, and debugging.

<Callout title="Before you start this course" type="warning">

You need a **local Shopware 6.7** environment with **PHP 8.3** and basic **PHP/OOP** skills. If Shopware is not running locally yet, complete the setup course in [Shopware Introduction for Developers](https://hub.shopware.com/learn/path/familiarize-with-shopware) first.

</Callout>

## Learning Units

## Units
- [Your First Shopware Plugin](/learn/unit/your-first-shopware-plugin): Create, install, activate, and verify a minimal Shopware plugin before learning how plugin architecture and controllers work.
- [Introduction to the Basic Architectural Pattern](/learn/unit/introduction-to-the-basic-architectural-pattern): Get an overview of the basic architectural pattern used in Shopware.
- [Getting started with Shopware backend development](/learn/unit/getting-started-with-shopware-backend-development): Create or clone a plugin with a storefront controller and understand the four parts that make it work.
- [Storefront Controller: Routes, Services, and Template](/learn/unit/storefront-controller-routes-services-and-template): Connect a storefront controller to Shopware with route imports, service registration, plugin configuration, Twig output, and storefront verification.
- [Add Data to Your Product](/learn/unit/add-data-to-your-product): Learn how to extend products with custom data programmatically using custom fields and understand when to use properties or custom entities.
- [Debug Your Code Within Shopware](/learn/unit/debug-your-code-within-shopware): Learn how to debug your code within Shopware, trace issues effectively, and apply best practices for troubleshooting.
