API Platform, Symfony & React Schulung: Full-Stack von Grund auf | Mironsoft
API Platform, Symfony & React: Die komplette Schulung
Eine sehr ausführliche Full-Stack-Schulung: automatisch generierte REST/GraphQL-APIs mit API Platform und Symfony, ein komplettes React-Frontend mit Echtzeit-Updates über Mercure – an einem einzigen, durchgehenden Projekt, dem Aufgaben-Manager aus unserer Symfony-Schulung.
Das lernst du
- Automatisch generierte REST- und GraphQL-APIs mit API Platform
- Ein komplettes React-Frontend für die generierte API bauen
- Echtzeit-Updates mit Mercure einbinden
- Ein einziges, durchgehendes Full-Stack-Projekt von Backend bis Frontend
Voraussetzungen
- Abschluss der Symfony-Schulung oder vergleichbares Symfony-Wissen
- Grundkenntnisse in React (z.B. aus "React für Einsteiger")
Kapitel dieser Serie
- 1 Einführung: API Platform, Symfony und React zusammen ~14 Min. Lesezeit
- 2 API Platform installieren ~13 Min. Lesezeit
- 3 Die Projektstruktur von API Platform verstehen ~12 Min. Lesezeit
- 4 Das Docker-Setup von API Platform vertieft ~14 Min. Lesezeit
- 5 Die erste API-Resource: Hallo-Welt ~13 Min. Lesezeit
- 6 Swagger UI und die API-Dokumentation erkunden ~12 Min. Lesezeit
- 7 Das React-Projekt aufsetzen ~12 Min. Lesezeit
- 8 Verbindungstest: React ruft die erste API-Resource ab ~13 Min. Lesezeit
- 9 Das ApiResource-Attribut verstehen ~15 Min. Lesezeit
- 10 Automatisches CRUD im Detail ~16 Min. Lesezeit
- 11 Operations als PHP-Klassen verstehen ~14 Min. Lesezeit
- 12 Nur ausgewählte Operationen aktivieren ~15 Min. Lesezeit
- 13 Eigene URI-Templates und Pfade konfigurieren ~13 Min. Lesezeit
- 14 shortName, Beschreibung und OpenAPI-Metadaten ~12 Min. Lesezeit
- 15 Testdaten mit Doctrine Fixtures erzeugen ~15 Min. Lesezeit
- 16 Fehler und Statuscodes verstehen ~14 Min. Lesezeit
- 17 Die OpenAPI-Spezifikation exportieren und nutzen ~13 Min. Lesezeit
- 18 Block-2-Zusammenfassung: eine eigene Resource bauen ~16 Min. Lesezeit
- 19 Die ersten Validierungs-Constraints ~14 Min. Lesezeit
- 20 Das Format von Validierungsfehlern verstehen ~13 Min. Lesezeit
- 21 Weitere Constraint-Typen und eigene Fehlermeldungen ~14 Min. Lesezeit
- 22 Validierungsgruppen vs. Serialisierungsgruppen ~12 Min. Lesezeit
- 23 Serialisierungsgruppen für das Lesen ~15 Min. Lesezeit
- 24 Serialisierungsgruppen für das Schreiben ~14 Min. Lesezeit
- 25 Berechnete Felder ohne Datenbankspalte ~13 Min. Lesezeit
- 26 Ein eigener Validator ~16 Min. Lesezeit
- 27 DTOs statt der Entity direkt ~15 Min. Lesezeit
- 28 Block-3-Zusammenfassung: Serialisierung und Validierung ~16 Min. Lesezeit
- 29 Pagination-Grundlagen ~14 Min. Lesezeit
- 30 itemsPerPage anpassen und Grenzen setzen ~12 Min. Lesezeit
- 31 Suche mit SearchFilter ~14 Min. Lesezeit
- 32 Sortierung mit OrderFilter ~12 Min. Lesezeit
- 33 Numerische Bereiche mit RangeFilter ~12 Min. Lesezeit
- 34 Datumsbereiche mit DateFilter ~12 Min. Lesezeit
- 35 Ein eigener Filter ~15 Min. Lesezeit
- 36 Block-4-Zusammenfassung: Filtering, Pagination & Sorting ~15 Min. Lesezeit
- 37 Die Task-Entity mit ManyToOne zu Project ~15 Min. Lesezeit
- 38 OneToMany von der Project-Seite ~13 Min. Lesezeit
- 39 Verschachtelte Collections: /api/projects/{id}/tasks ~14 Min. Lesezeit
- 40 IRI vs. eingebettete Objekte ~14 Min. Lesezeit
- 41 Eine Task erstellen und mit einem Project verknüpfen ~12 Min. Lesezeit
- 42 ManyToMany zwischen Task und Tag ~15 Min. Lesezeit
- 43 Nach Tags filtern ~12 Min. Lesezeit
- 44 Kaskadierendes Löschen und orphanRemoval ~14 Min. Lesezeit
- 45 Zirkuläre Referenzen vermeiden ~13 Min. Lesezeit
- 46 Block-5-Zusammenfassung: Beziehungen & komplexe Resources ~16 Min. Lesezeit
- 47 Die User-Entity mit Symfony Security ~16 Min. Lesezeit
- 48 JWT-Bundle installieren und konfigurieren ~15 Min. Lesezeit
- 49 Login-Endpunkt und Token erhalten ~13 Min. Lesezeit
- 50 Authentifizierte Requests mit Bearer-Token ~12 Min. Lesezeit
- 51 Operationen mit dem security-Attribut absichern ~14 Min. Lesezeit
- 52 Einen eigenen Voter schreiben ~16 Min. Lesezeit
- 53 Den Voter an Operations binden ~12 Min. Lesezeit
- 54 Das owner-Feld automatisch setzen ~14 Min. Lesezeit
- 55 Collections nach Nutzer filtern ~14 Min. Lesezeit
- 56 Block-6-Zusammenfassung: Security & Auth ~16 Min. Lesezeit
- 57 State Provider im Detail ~16 Min. Lesezeit
- 58 State Processor im Detail ~14 Min. Lesezeit
- 59 Das versprochene DTO-Beispiel vervollständigen ~15 Min. Lesezeit
- 60 Ein Custom Output ohne Entity ~14 Min. Lesezeit
- 61 Eine eigene Custom-Operation: /projects/{id}/archive ~16 Min. Lesezeit
- 62 Event-Hooks mit Doctrine-Lifecycle-Events ~13 Min. Lesezeit
- 63 Query-Extensions für globale Abfrage-Anpassungen ~14 Min. Lesezeit
- 64 HTTP-Caching mit Cache-Headern ~13 Min. Lesezeit
- 65 GraphQL: automatisch generiert, im Überblick ~13 Min. Lesezeit
- 66 Block-7-Zusammenfassung: fortgeschrittene Features ~16 Min. Lesezeit
- 67 Mercure-Grundlagen ~14 Min. Lesezeit
- 68 #[ApiResource] mit mercure: true ~12 Min. Lesezeit
- 69 Ein Update abonnieren ~13 Min. Lesezeit
- 70 JWT-Autorisierung für Mercure-Topics ~15 Min. Lesezeit
- 71 Eigene Publikationen bei Custom-Operations ~14 Min. Lesezeit
- 72 Block-8-Zusammenfassung: Mercure & Echtzeit-Updates ~14 Min. Lesezeit
- 73 TanStack Query einrichten ~13 Min. Lesezeit
- 74 Den axios-Client konfigurieren ~12 Min. Lesezeit
- 75 Projekte laden und anzeigen ~14 Min. Lesezeit
- 76 Ein Auth-Context und Login-Formular ~16 Min. Lesezeit
- 77 Ein axios-Interceptor für das JWT ~13 Min. Lesezeit
- 78 Ein neues Projekt erstellen (Mutation) ~14 Min. Lesezeit
- 79 Validierungsfehler im Formular anzeigen ~15 Min. Lesezeit
- 80 TypeScript-Typen aus der OpenAPI-Spezifikation generieren ~14 Min. Lesezeit
- 81 React Router für Navigation ~13 Min. Lesezeit
- 82 Mercure in React: ein EventSource-Hook ~16 Min. Lesezeit
- 83 Ein Projekt bearbeiten ~14 Min. Lesezeit
- 84 Ein Projekt löschen ~12 Min. Lesezeit
- 85 Die archive-Aktion als Button ~12 Min. Lesezeit
- 86 Die Task-Liste eines Projekts ~14 Min. Lesezeit
- 87 Eine Task erstellen ~13 Min. Lesezeit
- 88 Eine Task als erledigt markieren ~12 Min. Lesezeit
- 89 Tags auswählen: ein Multi-Select ~14 Min. Lesezeit
- 90 Ladezustände und Skeletons ~12 Min. Lesezeit
- 91 Optimistic Updates für den Task-Toggle ~16 Min. Lesezeit
- 92 Block-10-Zusammenfassung: vollständige CRUD-UI ~16 Min. Lesezeit
- 93 API-Integrationstests mit ApiTestCase ~16 Min. Lesezeit
- 94 Testdaten und Authentifizierung in Tests ~15 Min. Lesezeit
- 95 React-Component-Tests mit Vitest ~15 Min. Lesezeit
- 96 Die API in React-Tests mocken ~16 Min. Lesezeit
- 97 Block-11-Zusammenfassung: Testing ~14 Min. Lesezeit
- 98 Die API für Produktion vorbereiten ~16 Min. Lesezeit
- 99 React für Produktion bauen und deployen ~15 Min. Lesezeit
- 100 Gesamt-Rückblick und Abschluss ~18 Min. Lesezeit
Weiter lernen mit
Symfony: Die komplette Schulung
Eine ausführliche Symfony-Schulung von Grund auf: Routing, Controller, Twig, Doctrine ORM, Security, Services, Events, Console Commands, Testing und Deployment – an einem einzigen, durchgehenden Projekt, einem Aufgaben-Manager mit mehreren Nutzern.
Serie ansehen
React für Profis: State-Management, Performance und Internals
Die fortgeschrittene Fortsetzung von "React für Einsteiger": Wir bauen den Produktkatalog mit Zustand und Redux Toolkit weiter aus, optimieren Performance, schauen React selbst unter die Haube (Virtual DOM, Fiber), migrieren zu TypeScript und bereiten auf Vorstellungsgespräche vor.
Serie ansehen