← Zurück zur Übersicht Vom Formular zur Datenbank: So baust du deine erste Symfony-App in Rekordzeit

Vom Formular zur Datenbank: So baust du deine erste Symfony-App in Rekordzeit

[WERBUNG: CONTENT OBEN]

Symfony Speedrun

Symfony hat den Ruf, komplex zu sein. Das stimmt – unter der Haube. Aber für dich als Entwickler ist es dank der Symfony CLI und Docker eines der schnellsten Werkzeuge der Welt. Wir bauen heute zusammen eine vollständige CRUD-Anwendung (Create, Read, Update, Delete) – sicher isoliert in einem Container.

Die Infrastruktur (Docker Compose)

Bevor wir PHP-Code schreiben, bereiten wir unsere Umgebung vor. Wir nutzen ein vorgefertigtes PHP-Image mit Caddy als Webserver.

meine-erste-symfony-app/docker-compose.yaml:

version: '3'
services:
  php:
    image: dunglas/frankenphp:latest-alpine
    ports:
      - "8000:8000"
    volumes:
      - .:/app
    environment:
      - SERVER_NAME=:8000
    working_dir: /app

Starte den Container und wechsle hinein:

docker compose up -d
docker compose exec php sh

Schritt 1: Das Projekt initialisieren

Innerhalb des Containers (sh) installieren wir Symfony:

# Wir erstellen eine Web-Applikation
symfony new my_project --web
cd my_project

Schritt 2: Die Datenbank-Magie (Entities erstellen)

Stellen wir uns vor, wir wollen "Produkte" und deren "Kategorien" verwalten. Wir nutzen den Maker, um Code für uns zu schreiben:

# 1. Die Kategorie erstellen
php bin/console make:entity Kategorie

Folge den Anweisungen: Füge ein 'titel' (string) Feld hinzu.

# 2. Das Produkt erstellen
php bin/console make:entity Produkt

Füge ein 'name' (string) und 'preis' (float) Feld hinzu.

⚠️ 📸 SCREENSHOT ANFRAGE: Hier einen Screenshot vom Terminal einfügen, der die interaktive Erstellung der Entity mit make:entity im Symfony-Maker zeigt.

Schritt 3: Die CRUD-Interfaces generieren

Das ist der Moment, in dem du Zeit sparst. Symfony generiert alle Controller, Formulare und Views (Templates) für beide Bereiche:

# CRUD für Kategorien
php bin/console make:crud Kategorie

# CRUD für Produkte
php bin/console make:crud Produkt

Schritt 4: Die Verknüpfung (Relation)

Jetzt verbinden wir beide Welten. Ein Produkt soll zu einer Kategorie gehören:

php bin/console make:entity Produkt

*Anleitungen: Füge ein neues Feld 'kategorie' hinzu und wähle den Typ 'relation'. Wähle 'ManyToOne' (viele Produkte gehören zu einer Kategorie). Ziele auf die Entity 'Kategorie'.*

Schritt 5: Die Anwendung starten

Starte den integrierten Symfony Webserver:

symfony server:start -d

Öffne jetzt deinen Browser:

Klicke auf "Create new product" – du hast nun ein fertiges Formular, das Daten validiert und in die Datenbank schreibt!

⚠️ 📸 SCREENSHOT ANFRAGE: Hier einen Screenshot vom Browser-Fenster einfügen, der die automatisch generierte Produkt-Liste (Index) deiner neuen Symfony-App zeigt.

Warum das so genial ist

Normalerweise müsstest du Stunden damit verbringen, HTML-Formulare zu bauen, Datenbank-Abfragen zu schreiben und Validierungen (z.B. "Preis darf nicht negativ sein") zu implementieren. Symfony nimmt dir diese repetitive Arbeit ab, damit du dich auf die echte Logik deiner App konzentrieren kannst.

Fazit

Herzlichen Glückwunsch! Du hast gerade den gesamten Workflow einer modernen Web-Applikation gesehen. Symfony ist wie ein Schweizer Taschenmesser: Es liefert dir für jedes Problem das richtige Werkzeug fix und fertig mit. Das ist Effizienz auf Profi-Niveau!

[WERBUNG: CONTENT UNTEN]