Magento 2 Experten — Hyvä Theme, Tailwind CSS & SEO aus einer Hand ›

Die Projektstruktur von API Platform verstehen

Die Projektstruktur von API Platform verstehen

~12 Min. Lesezeit Zuletzt aktualisiert am 8. August 2026

Unter der Haube ist aufgaben-manager-api ein GANZ NORMALES Symfony-Projekt (GENAU die Struktur aus Kapitel 3 der Symfony-Schulung) – API Platform ergänzt lediglich ein paar zusätzliche Verzeichnisse und Bundles.

Die Projektstruktur im Überblick

Die Struktur direkt nach der Installation

aufgaben-manager-api/
├── api/                    ← das eigentliche Symfony/API-Platform-Projekt
│   ├── bin/console
│   ├── config/
│   │   └── packages/
│   │       └── api_platform.yaml   ← API-Platform-spezifische Konfiguration
│   ├── migrations/
│   ├── public/
│   ├── src/
│   │   ├── ApiResource/    ← optional: Resources ohne eigene Doctrine-Entity
│   │   ├── Controller/
│   │   ├── Entity/         ← HIER leben unsere ApiResource-Entities (Kapitel 9+)
│   │   └── Repository/
│   └── tests/
├── docker/                 ← Dockerfiles für die einzelnen Container
└── compose.yaml            ← definiert ALLE Container (php, database, mercure, ...)

Der ENTSCHEIDENDE Unterschied zur Symfony-Schulung: das eigentliche Symfony-Projekt liegt in einem api/-UNTERVERZEICHNIS, nicht direkt im Projekt-Root – der Root ist stattdessen für Docker-/Infrastruktur-Konfiguration reserviert, die MEHRERE Services (aktuell nur den API-Server, ab Kapitel 7 auch das separate React-Projekt DANEBEN, nicht darin) koordiniert.

config/packages/api_platform.yaml: die Kern-Konfiguration

api/config/packages/api_platform.yaml
api_platform:
    title: Aufgaben-Manager API
    version: 1.0.0
    formats:
        json: ['application/json']
        jsonld: ['application/ld+json']
    docs_formats:
        json: ['application/json']
        jsonopenapi: ['application/vnd.openapi+json']
        html: ['text/html']

title/version erscheinen SPÄTER in der automatisch generierten Swagger-UI-Dokumentation (Kapitel 6). formats legt fest, WELCHE Antwortformate die API unterstützt – jsonld (JSON-LD, mit zusätzlichen semantischen Metadaten) ist API Platforms STANDARD-Format, json ein einfacheres, für unser React-Frontend meist ausreichendes Format.

src/Entity/: der zentrale Ort für API-Ressourcen

GENAU wie in der Symfony-Schulung landen Doctrine-Entities unter src/Entity/ – der Unterschied ab Kapitel 9: dieselben Klassen tragen ZUSÄTZLICH das #[ApiResource]-Attribut und werden dadurch AUTOMATISCH zu API-Endpunkten, OHNE einen eigenen Controller schreiben zu müssen.

Das mitgelieferte Makefile

Makefile
build:
	docker compose build --pull --no-cache

up: ## Alle Container starten
	docker compose up -d --wait

down: ## Alle Container stoppen
	docker compose down --remove-orphans
make up
make down

Tipp: Die Distribution bringt bereits ein Makefile mit gängigen Kurzbefehlen mit – make up/make down statt der ausführlicheren docker compose-Befehle. Diese Schulung schreibt weiterhin die vollständigen docker compose-Befehle aus, damit auch ohne make GENAU nachvollziehbar bleibt, was passiert.