Quickstarters
Feature Overview
Wie man ein Backend für Symfony erstellt?
28 min
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 https //www back4app com an ein neues back4app projekt erste schritte mit back4app https //www back4app com/docs/get started/new parse app symfony spezifische einrichtung stellen sie sicher, dass sie symfony https //symfony com/download 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 https //symfony com/doc/current/index html node js (optional, für bestimmte build tools) wenn sie planen, node basierte tools für frontend aufgaben zu verwenden, installieren sie node js https //nodejs org/en/download/ 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 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“) sobald es erstellt ist, erscheint es in ihrem back4app dashboard dieses projekt ist ihre backend grundlage 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 unten finden sie ein beispiel mit dem symfony httpclient https //symfony com/doc/current/http client html // src/service/back4appclient php namespace app\service; use symfony\component\httpclient\httpclient; class back4appclient { private $appid; private $restkey; private $baseurl; public function construct(string $appid, string $restkey, string $baseurl) { $this >appid = $appid; $this >restkey = $restkey; $this >baseurl = $baseurl; } public function createobject(string $classname, array $data) { $client = httpclient create(); $response = $client >request('post', $this >baseurl '/classes/' $classname, \[ 'headers' => \[ 'x parse application id' => $this >appid, 'x parse rest api key' => $this >restkey, 'content type' => 'application/json' ], 'json' => $data, ]); return $response >toarray(); } } 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 navigieren sie zu datenbank in ihrem back4app dashboard erstellen sie eine neue klasse “todo” und fügen sie felder wie title (string) und iscompleted (boolean) hinzu alternativ lassen sie den back4app ai agent ihr datenmodell erstellen öffnen sie den ai agent in ihrem projekt dashboard beschreiben sie ihr datenmodell (z b “erstellen sie eine todo klasse mit den feldern title und iscompleted ”) generieren sie das schema automatisch daten lesen und schreiben mit rest um eine neue todo aus einem symfony controller zu erstellen, können sie folgendes tun use app\service\back4appclient; use symfony\bundle\frameworkbundle\controller\abstractcontroller; use symfony\component\routing\annotation\route; class todocontroller extends abstractcontroller { \#\[route('/todo/new', name 'new todo')] public function new(back4appclient $client) { $data = \[ 'title' => 'buy groceries', 'iscompleted' => false ]; $result = $client >createobject('todo', $data); return $this >json($result); } } für abfragen , verwenden sie eine get anfrage mit ihren anmeldeinformationen curl x get \\ h "x parse application id your application id" \\ h "x parse rest api key your rest api key" \\ https //parseapi back4app com/classes/todo 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 mutation { createtodo(input { fields { title "clean the kitchen" iscompleted false } }) { todo { objectid title iscompleted } } } 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 { "title" "private task", "iscompleted" false, " acl" { "userobjectidhere" { "read" true, "write" true } } } clps (klassenebene berechtigungen) klassenebene berechtigungen ermöglichen es ihnen, umfassende zugriffsregeln für eine gesamte klasse festzulegen datenbank öffnen im back4app dashboard wählen sie ihre klasse aus (z b „todo“) gehen sie zum tab berechtigungen und konfigurieren sie lese /schreibzugriff für weitere informationen besuchen sie die app sicherheitsrichtlinien https //www back4app com/docs/security/parse security 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 // main js parse cloud beforesave('todo', (request) => { const todo = request object; if (!todo get('title')) { throw new error('todo must have a title'); } }); bereitstellung verwenden sie die back4app cli oder das dashboard, um main js bereitzustellen rufen sie ihre cloud funktionen auf über rest oder graphql von ihren symfony diensten auf schritt 5 – konfigurieren der authentifizierung das benutzermanagement in back4app basiert auf der parse user klasse mit symfony können sie benutzeranmeldungen, anmeldungen und passwortzurücksetzungen über rest oder graphql aufrufe verwalten registrieren / anmelden über rest \# sign up curl x post \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"username" "alex", "password" "symfony123", "email" "alex\@example com"}' \\ https //parseapi back4app com/users \# log in curl x get \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ \ data urlencode 'username=alex' \\ \ data urlencode 'password=symfony123' \\ https //parseapi back4app com/login 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 https //www back4app com/docs/platform/sign in with apple 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 curl x post \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ h "content type image/png" \\ \ data binary '@localimage png' \\ https //parseapi back4app com/files/localimage png 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 gehe zu den e mail einstellungen in back4app aktiviere die e mail bestätigung und vorlagen für das zurücksetzen des passworts 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 // main js parse cloud job('cleanupoldtodos', async () => { const todo = parse object extend('todo'); const query = new parse query(todo); const now = new date(); const thirty days = 30 24 60 60 1000; query lessthan('createdat', new date(now thirty days)); const oldtodos = await query find({ usemasterkey true }); await parse object destroyall(oldtodos, { usemasterkey true }); return `deleted ${oldtodos length} old todos `; }); plane diesen cleanupoldtodos job in deinem back4app dashboard, um täglich ausgeführt zu werden, um 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 gehe zu mehr > webhooks in deinem back4app dashboard füge einen webhook hinzu und gib deinen externen endpunkt an trigger das ereignis bei der objekterstellung in der todo klasse schritt 10 – erforschen des back4app admin panels verwenden sie die back4app admin app für eine benutzerfreundliche datenverwaltungsoberfläche aktivieren sie die admin app von app dashboard > mehr > admin app erstellen sie einen admin benutzer mit einem sicheren benutzernamen und passwort weisen sie eine benutzerdefinierte subdomain zu für einfachen zugriff 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, zahlungs gateways 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!