Schnellstarter

Wie man ein Backend für Symfony erstellt?

28min

Einführung

In diesem Tutorial lernen Sie wie man ein Backend für Symfony mit Back4App erstellt.

Wir zeigen Ihnen, wie Sie die robusten Funktionen von Back4App nutzen können – einschließlich Datenbankverwaltung, Cloud Code, REST- und GraphQL-APIs – um ein sicheres, skalierbares und effizientes Backend zu erstellen, das reibungslos mit Ihrer Symfony-Anwendung funktioniert.

Sie werden auch entdecken, wie Sie die Benutzerauthentifizierung, die Dateispeicherung und Echtzeit-Updates über Live-Abfragen (sofern für Ihre Architektur anwendbar) handhaben können.

Durch die Nutzung der schnellen Einrichtung und der intuitiven Plattform von Back4App sparen Sie Zeit und Mühe im Vergleich zur manuellen Verwaltung von Servern und Datenbanken.

Sie werden praktische Erfahrungen in fortgeschrittener Sicherheit, der Planung von Aufgaben mit Cloud-Jobs, der Konfiguration von Webhooks und anderen wesentlichen Funktionen für eine zuverlässige Backend-Entwicklung sammeln.

Nach Abschluss dieses Tutorials können Sie Ihr Symfony-Backend für die Produktion selbstbewusst erweitern oder anpassen, externe APIs integrieren und bei Bedarf komplexe Geschäftslogik hinzufügen.

Voraussetzungen

  • Ein Back4app-Konto Melden Sie sich kostenlos hier an.
  • Ein neues Back4app-Projekt Erste Schritte mit Back4app.
  • Symfony-spezifische Einrichtung Stellen Sie sicher, dass Sie Symfony lokal installiert haben. Bestätigen Sie, dass Sie PHP und Composer bereit haben.
  • Grundkenntnisse in Symfony Vertrautheit mit Controllern, Diensten und Templates ist von Vorteil. Offizielle Symfony-Dokumentation.
  • Node.js (optional, für bestimmte Build-Tools) Wenn Sie planen, Node-basierte Tools für Front-End-Aufgaben zu verwenden, installieren Sie Node.js.

Stellen Sie sicher, dass Ihre Symfony-Umgebung und Ihr Back4App-Projekt eingerichtet sind, bevor Sie beginnen. Dies wird Ihnen helfen, die Schritte nahtlos zu befolgen.

Schritt 1 – Erstellen eines neuen Projekts auf Back4App und Verbindung herstellen

  1. Erstellen Sie ein Back4App-Projekt:
    • Melden Sie sich bei Ihrem Back4App-Konto an.
    • Klicken Sie im Dashboard auf „Neue App“.
    • Nennen Sie es (z.B. „Symfony-Backend-Tutorial“).
Document image


Sobald es erstellt ist, erscheint es in Ihrem Back4App-Dashboard. Dieses Projekt ist Ihre Backend-Grundlage.

  1. Verbinden Sie sich mit REST oder GraphQL:
    • In den „App-Einstellungen“ oder „Sicherheit & Schlüssel“ Ihrer App finden Sie Ihre Anwendungs-ID und REST-API-Schlüssel (und den GraphQL-Endpunkt, wenn Sie GraphQL verwenden möchten).
    • Notieren Sie sich Ihre Parse-Server-URL (z.B. https://parseapi.back4app.com).
    • Da Symfony kein natives Parse SDK hat, müssen Sie auf den HTTP-Client von Symfony oder eine Bibliothek wie Guzzle zurückgreifen, um mit den REST- oder GraphQL-APIs von Back4App zu kommunizieren.
Document image


Unten finden Sie ein Beispiel mit dem Symfony HttpClient:

PHP


Dieser Dienst hilft Ihnen, Anfragen an Ihr Back4App-Backend von innerhalb von Symfony zu stellen.

Schritt 2 – Datenbank einrichten

Erstellen eines Datenmodells

Auf Back4App definieren Sie Klassen (Tabellen), die Ihre Daten speichern. Angenommen, Sie möchten eine Todo-Klasse erstellen, um Aufgaben zu halten:

  1. Navigieren Sie zu Datenbank in Ihrem Back4App-Dashboard.
  2. Erstellen Sie eine neue Klasse “Todo” und fügen Sie Felder wie title (String) und isCompleted (Boolean) hinzu.
Neue Klasse erstellen
Neue Klasse erstellen


Alternativ lassen Sie den Back4App AI Agent Ihr Datenmodell erstellen:

  1. Öffnen Sie den AI Agent in Ihrem Projekt-Dashboard.
  2. Beschreiben Sie Ihr Datenmodell (z.B. “Erstellen Sie eine Todo-Klasse mit den Feldern title und isCompleted.”).
  3. Generieren Sie das Schema automatisch.
Document image


Daten lesen und schreiben mit REST

Um eine neue Todo aus einem Symfony-Controller zu erstellen, können Sie Folgendes tun:

PHP


Für Abfragen, verwenden Sie eine GET-Anfrage mit Ihren Anmeldeinformationen:

Bash


Daten lesen und schreiben mit GraphQL

Sie können auch GraphQL in Symfony integrieren, indem Sie eine GraphQL-Clientbibliothek verwenden. Ein Beispiel für eine Mutation zur Erstellung eines Todo ist:

GraphQL


Arbeiten mit Live-Abfragen (Optional)

Wenn Ihre Symfony-App Echtzeitdaten benötigt, könnten Sie Live-Abfragen in einem eher Frontend- oder Echtzeit-Microservice-Kontext integrieren. Konfigurieren Sie Live-Abfragen in den Servereinstellungen auf Back4App und verbinden Sie dann einen WebSocket-Client. Symfony kann auf diese Updates reagieren oder sie über eine separate Echtzeitschicht senden, falls erforderlich.

Schritt 3 – Anwendung von Sicherheit mit ACLs und CLPs

ACLs (Zugriffskontrolllisten)

ACLs ermöglichen es Ihnen, zu steuern, wer ein Objekt lesen oder schreiben kann. Zum Beispiel können Sie eine ACL im Code anwenden, wenn Sie Daten mit der REST-API erstellen, indem Sie _ACL-Felder in Ihr JSON hinzufügen. Zum Beispiel:

JSON


CLPs (Klassenebene Berechtigungen)

Klassenebene Berechtigungen ermöglichen es Ihnen, umfassende Zugriffsregeln für eine gesamte Klasse festzulegen:

  1. Datenbank öffnen im Back4App-Dashboard.
  2. Wählen Sie Ihre Klasse aus (z.B. „Todo“).
  3. Gehen Sie zum Tab Berechtigungen und konfigurieren Sie Lese-/Schreibzugriff.
Document image


Für weitere Informationen besuchen Sie die App-Sicherheitsrichtlinien.

Schritt 4 – Schreiben von Cloud-Code-Funktionen

Cloud-Code ermöglicht es Ihnen, sichere serverseitige JavaScript ohne Verwaltung der Infrastruktur auszuführen. Während Symfony in PHP ist, können Sie dennoch bestimmte Aufgaben an Cloud-Code auf Back4App für erweiterte Logik, Trigger und Validierungen auslagern.

Beispiel: Validieren eines Todo vor dem Speichern

JS


Bereitstellung

  1. Verwenden Sie die Back4App CLI oder das Dashboard, um main.js bereitzustellen.
  2. Rufen Sie Ihre Cloud-Funktionen auf über REST oder GraphQL von Ihren Symfony-Diensten auf.
Document image


Schritt 5 – Authentifizierung konfigurieren

Das Benutzermanagement in Back4App basiert auf der Parse User-Klasse. Mit Symfony können Sie Benutzeranmeldungen, -einträge und Passwortzurücksetzungen über REST- oder GraphQL-Aufrufe verwalten.

Registrieren / Einloggen über REST

Bash


Verwenden Sie einen Symfony-Dienst, um diese Aufrufe zu umschließen, wenn Sie programmgesteuerte Benutzerabläufe benötigen.

Soziale Anmeldung

Wenn Sie planen, Google- oder Apple-Anmeldung zu integrieren, verweisen Sie auf Back4App’s Social Login-Dokumentation. Sie konfigurieren Ihre OAuth-Apps und führen spezifische REST-Aufrufe durch, um die Authentifizierung abzuschließen.

Schritt 6 – Umgang mit Dateispeicherung

Datei-Upload mit REST

Bash


Nach dem Hochladen erhalten Sie eine Datei-URL. Sie können diesen Link in jeder Klasse speichern (z.B. Todo) als Referenz auf diese Datei.

Schritt 7 – E-Mail-Verifizierung und Passwortzurücksetzung

E-Mail konfigurieren

  1. Gehe zu den E-Mail-Einstellungen in Back4App.
  2. Aktiviere die E-Mail-Bestätigung und Vorlagen für das Zurücksetzen des Passworts.
  3. Passe die „Von“- und „Betreff“-Zeilen nach Bedarf an.

Dies stellt sicher, dass alle Anmeldungen gültige E-Mail-Bestätigungen erfordern.

Schritt 8 – Aufgaben mit Cloud-Jobs planen

Beispiel für einen Cloud-Job

JS


Plane diesen cleanupOldTodos Job in deinem Back4App-Dashboard, um täglich zu laufen und dein Datenmanagement zu verbessern.

Schritt 9 – Webhooks integrieren

Webhooks ermöglichen es Back4App, HTTP-Anfragen an externe Dienste zu senden. Zum Beispiel kannst du einen Slack-Endpunkt anpingen, wann immer ein neuer Todo erstellt wird:

  1. Gehe zu Mehr > WebHooks in deinem Back4App-Dashboard.
  2. Füge einen Webhook hinzu und gib deinen externen Endpunkt an.
  3. Trigger das Ereignis bei der Objekterstellung in der Todo-Klasse.
Einen Webhook hinzufügen
Einen Webhook hinzufügen


Schritt 10 – Erforschen des Back4App-Admin-Panels

Verwenden Sie die Back4App Admin App für eine benutzerfreundliche Datenverwaltungsoberfläche:

  1. Aktivieren Sie die Admin App von App Dashboard > Mehr > Admin App.
  2. Erstellen Sie einen Admin-Benutzer mit einem sicheren Benutzernamen und Passwort.
  3. Weisen Sie eine benutzerdefinierte Subdomain zu für einfachen Zugriff.
Aktivieren Sie die Admin App
Aktivieren Sie die Admin App


Diese Funktion hilft nicht-technischen Teammitgliedern, Datensätze zu sehen und zu verwalten, ohne in den Code eintauchen zu müssen.

Fazit

Sie haben gelernt, wie man ein Backend für Symfony mit Back4App erstellt. Dies beinhaltete:

  • Ein neues Projekt auf Back4App als Grundlage.
  • Die Datenbank konfigurieren mit Klassen, Feldern und Beziehungen.
  • Daten sichern mit ACLs und CLPs.
  • Cloud Code nutzen für serverseitige Logik.
  • Benutzerauthentifizierung verwalten (Registrierung, Anmeldung, Passwort zurücksetzen).
  • Dateispeicherung verwalten mit der REST API.
  • Cloud Jobs einrichten für regelmäßige Aufgaben.
  • Webhooks integrieren um externe Dienste zu verbinden.
  • Das Back4App Admin Panel navigieren für eine einfache Datenverwaltung.

Diese Schritte geben Ihnen ein starkes Framework zum Erstellen und Skalieren Ihrer Symfony-Anwendung. Erweitern Sie diese Architektur, um komplexere Logik zu verarbeiten, Zahlungsgateways zu integrieren oder erweiterte Sicherheitsfunktionen hinzuzufügen. Mit Back4App sparen Sie Zeit und Mühe bei Hosting und Infrastruktur – sodass Sie sich auf die Bereitstellung der bestmöglichen Benutzererfahrung konzentrieren können.

Nächste Schritte

  • Eine produktionsbereite Symfony-App erstellen indem Sie Ihr Back4App-Backend für höheren Traffic und erweiterte Leistungsanforderungen anpassen.
  • Erweiterte Funktionen integrieren wie rollenbasierte Zugriffe, Analysen oder Drittanbieter-APIs für Zahlungen.
  • Offizielle Back4App-Dokumentation erkunden für tiefere Einblicke in Sicherheit, Protokolle und Überwachung.
  • Weitere Tutorials ansehen um dieses Backend mit Echtzeitdiensten zu kombinieren oder dynamische Websites mit Live-Updates zu erstellen.

Durch die Befolgung dieser Strategien erhält Ihr Symfony-Projekt ein leistungsstarkes und effizientes Backend. Nutzen Sie Back4App, um die Wartung zu erleichtern und die Fähigkeiten Ihrer Anwendung schnell weiterzuentwickeln. Viel Erfolg beim Erstellen Ihres nächsten Symfony-Meisterwerks!