Quickstarters
Feature Overview
Wie man ein Backend für Yii 2 erstellt?
41 min
einführung in diesem tutorial werden sie lernen wie man ein backend für yii 2 mit back4app erstellt yii 2 ist ein beliebtes open source php framework, das ihnen hilft, sichere und effiziente webanwendungen zu erstellen durch die integration des yii frameworks mit back4app können sie von leistungsstarken funktionen wie datenbankverwaltung, cloud funktionen, rest und graphql apis, benutzerauthentifizierung und echtzeitanfragen profitieren – und das alles, während sie den entwicklungsprozess ihres backends beschleunigen sie werden sehen, wie sie die umgebung von back4app nutzen können, um manuelle serverkonfigurationen zu reduzieren, sodass sie sich auf das schreiben ihres yii 2 codes konzentrieren können indem sie diese schritte befolgen, werden sie praktische erfahrungen mit wesentlichen funktionen sammeln, einschließlich robuster sicherheitskontrollen (acls, clps), der planung wiederkehrender aufgaben und der einrichtung externer integrationen über webhooks am ende dieses tutorials werden sie eine solide backend struktur für ihr yii 2 projekt haben, die bereit ist, in die produktion zu skalieren oder mit benutzerdefinierter geschäftslogik zu erweitern sie werden auch gut vorbereitet sein, um drittanbieter apis zu integrieren oder neue funktionen in ihre webanwendungen einzubauen voraussetzungen um dieses tutorial abzuschließen, benötigen sie ein back4app konto und ein neues back4app projekt erste schritte mit back4app https //www back4app com/docs/get started/new parse app wenn sie kein konto haben, melden sie sich kostenlos an und folgen sie dem verlinkten leitfaden, um ihr projekt vorzubereiten eine lokale yii 2 entwicklungsumgebung sie können yii 2 mit composer https //getcomposer org/ herunterladen und dem offiziellen yii 2 leitfaden https //www yiiframework com/doc/guide/2 0/en zur einrichtung folgen php (version 7 4 oder höher) installiert sie benötigen eine kompatible php umgebung, um yii 2 auszuführen und composer pakete zu verwalten vertrautheit mit php und grundlegenden yii 2 konzepten wenn sie neu im yii framework sind, schauen sie sich die offizielle yii 2 dokumentation https //www yiiframework com/doc/guide/2 0/en stellen sie sicher, dass sie alle diese voraussetzungen erfüllt haben, bevor sie beginnen wenn ihr back4app projekt eingerichtet und ihre lokale yii 2 umgebung bereit ist, können sie leichter folgen schritt 1 – erstellen eines neuen projekts auf back4app und verbindung herstellen ein neues projekt erstellen der erste schritt zum erstellen eines backends für yii 2 besteht darin, ein neues back4app projekt zu erstellen wenn sie dies noch nicht getan haben, folgen sie diesen schritten melden sie sich bei ihrem back4app konto an klicken sie auf die schaltfläche „neue app“ in ihrem back4app dashboard benennen sie ihre app (z b „yii2 backend tutorial“) sobald das projekt erstellt ist, sehen sie es auf ihrem back4app dashboard dies dient als grundlage für alle backend konfigurationen, die wir in diesem tutorial erkunden werden verbindung über parse apis back4app verwendet die parse plattform im hintergrund während das parse php sdk existiert, können sie auch ihre yii 2 anwendung mit back4app integrieren, indem sie die rest oder graphql apis von parse verwenden dieser ansatz ist flexibel und ermöglicht es ihnen, code zu schreiben, der http oder graphql anfragen von ihren yii controllern oder modellen an back4app sendet holen sie sich ihre parse schlüssel gehen sie in ihrem back4app dashboard zu den „app einstellungen“ oder „sicherheit & schlüssel“ suchen sie ihre anwendungs id , rest api schlüssel , und die parse server url (normalerweise https //parseapi back4app com ) halten sie diese anmeldeinformationen griffbereit sie werden sie benötigen, wenn sie anfragen von ihrer yii 2 anwendung an back4app stellen schritt 2 – datenbank einrichten ihr back4app projekt verfügt über eine cloudbasierte datenbank, die automatisch vom parse server verwaltet wird sie können ein datenmodell erstellen und objekte mithilfe von rest, graphql oder dem ki agenten in back4app speichern erstellen eines datenmodells öffnen sie den abschnitt “datenbank” in ihrem back4app dashboard erstellen sie eine neue klasse (z b “todo”) und fügen sie spalten wie title (string) und iscompleted (boolean) hinzu sie können auch parse erlauben, diese spalten automatisch zu erstellen, wenn ihr yii code zum ersten mal daten sendet darüber hinaus kann der ki agent von back4app ihnen helfen, das schema einzurichten öffnen sie den ki agenten von ihrem app dashboard oder dem menü beschreiben sie ihr datenmodell (z b “erstellen sie ein todo app schema mit einer todo klasse”) erlauben sie dem ki agenten das schema zu generieren daten lesen und schreiben mit der rest api unten ist ein beispiel für das speichern eines todo objekts mit der rest api sie könnten dies in einer yii 2 controller aktion mit curl oder phps file get contents() implementieren, um json daten zu posten curl x post \\ h "x parse application id your application id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"title" "buy groceries", "iscompleted" false}' \\ https //parseapi back4app com/classes/todo beispiel für einen yii 2 php code schnipsel (mit curl) in einem controller public function actioncreatetodo() { $url = "https //parseapi back4app com/classes/todo"; $data = \[ "title" => "buy groceries", "iscompleted" => false ]; $headers = \[ "x parse application id your application id", "x parse rest api key your rest api key", "content type application/json" ]; $ch = curl init($url); curl setopt($ch, curlopt post, 1); curl setopt($ch, curlopt postfields, json encode($data)); curl setopt($ch, curlopt httpheader, $headers); curl setopt($ch, curlopt returntransfer, true); $result = curl exec($ch); curl close($ch); // handle $result as needed, e g , parse json or redirect } abfragen der gleichen daten mit rest könnte so aussehen 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 der graphql api sie können auch daten über die graphql schnittstelle von parse erstellen und lesen zum beispiel, um ein todo mutation { createtodo(input { fields { title "clean the house" iscompleted false } }) { todo { objectid title iscompleted } } } in yii 2 können sie graphql bibliotheken https //packagist org/packages/webonyx/graphql php oder einfache http anfragen verwenden, um mit dem back4app graphql endpunkt zu interagieren https //parseapi back4app com/graphql arbeiten mit live abfragen (optional) für echtzeit updates unterstützt back4app live abfragen , mit denen sie änderungen an einer klasse abonnieren können obwohl die typische verwendung in yii 2 weniger verbreitet sein mag, können sie live abfragen in ihren back4app einstellungen aktivieren und websocket verbindungen in php verwalten dies ist fortgeschrittener, daher verweisen sie auf die dokumentation zu parse live abfragen https //www back4app com/docs/javascript live queries/parse livequery overview für details zur implementierung von echtzeitfunktionen in ihren php basierten webanwendungen schritt 3 – anwendung von sicherheit mit acls und clps kurze übersicht back4app bietet zugriffskontrolllisten (acls) und klassenebene berechtigungen (clps) an, um ihre daten zu schützen acls gelten für spezifische objekte, während clps globale berechtigungen für jede klasse definieren einrichten von klassenebene berechtigungen gehen sie zu datenbank in ihrem back4app dashboard und wählen sie die klasse (z b „todo“) öffnen sie die clps registerkarte , und konfigurieren sie die lese /schreibberechtigungen (z b „erfordert authentifizierung“ oder „kein zugriff“) konfigurieren von acls sie können acls für einzelne objekte festlegen, indem sie ein acl feld beim erstellen oder aktualisieren von daten über rest oder graphql einfügen zum beispiel, mit rest curl x post \\ h "x parse application id your application id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{ "title" "private todo", "acl" { "user object id here" { "read" true, "write" true }, " " { "read" false, "write" false } } }' \\ https //parseapi back4app com/classes/todo dieses objekt kann jetzt nur von dem benutzer mit der angegebenen objectid zugegriffen werden schritt 4 – schreiben von cloud code funktionen warum cloud code die verwendung von cloud code auf back4app ermöglicht es ihnen, benutzerdefinierte serverseitige logik auszuführen, ohne ihre eigenen server verwalten zu müssen sie können geschäftslogik , datenvalidierungen , oder trigger für die erstellung, aktualisierung und löschung von objekten erstellen beispiel für eine cloud code funktion unten ist eine einfache cloud code funktion (geschrieben in javascript), die die textlänge berechnet main js // main js parse cloud define('calculatetextlength', async (request) => { const { text } = request params; if (!text) { throw new error('no text provided'); } return { length text length }; }); bereitstellung sie können ihren cloud code über die back4app cli oder direkt im cloud code > funktionen abschnitt ihres back4app dashboards bereitstellen back4app cli dashboard kopieren/einfügen ihres codes in main js und klicken sie auf bereitstellen aufrufen ihrer cloud funktion sie können ihre funktion von yii 2 aus mit einer einfachen rest post anfrage aufrufen 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 '{"text" "hello back4app"}' \\ https //parseapi back4app com/functions/calculatetextlength oder über graphql mutation { calculatetextlength(input { text "hello graphql" }) { result } } schritt 5 – konfigurieren der authentifizierung benutzerauthentifizierung in back4app back4app verwendet die parse user klasse als grundlage für eine sichere authentifizierung sie können benutzer über rest oder graphql aufrufe erstellen und verifizieren erstellen eines benutzers 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 application/json" \\ d '{ "username" "alice", "password" "secret123", "email" "alice\@example com" }' \\ https //parseapi back4app com/users einloggen eines benutzers curl x get \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ g \\ \ data urlencode 'username=alice' \\ \ data urlencode 'password=secret123' \\ https //parseapi back4app com/login curl x get \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ g \\ \ data urlencode 'username=alice' \\ \ data urlencode 'password=secret123' \\ https //parseapi back4app com/login curl x get \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ g \\ \ data urlencode 'username=alice' \\ \ data urlencode 'password=secret123' \\ https //parseapi back4app com/login soziale anmeldung für soziale anmeldungen (google, apple, facebook usw ) konfigurieren sie ihre oauth einstellungen in back4app und ihre yii 2 anwendung, um die erforderlichen tokens zu verarbeiten verweisen sie auf back4app’s dokumentation zur sozialen anmeldung https //www back4app com/docs/platform/sign in with apple für anbieter spezifische richtlinien e mail verifizierung & passwortzurücksetzung aktivieren sie die e mail verifizierung und die passwortzurücksetzung in den e mail einstellungen ihres back4app dashboards, um die sicherheit der benutzer zu verbessern gehen sie zu den e mail einstellungen in ihrem back4app dashboard aktivieren sie die e mail verifizierung und passen sie ihre e mail vorlagen an testen sie ob ihre e mails ordnungsgemäß gesendet und empfangen werden schritt 6 – umgang mit dateispeicher back4app bietet sicheren dateispeicher über das parse dateisystem während das parse php sdk eine option ist, werden wir rest erneut zur konsistenz veranschaulichen hochladen von dateien über 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 "@path/to/local/image png" \\ https //parseapi back4app com/files/myimage png dies gibt eine url für die gespeicherte datei zurück sie können diese url dann in einer klasse (wie foto ) für eine spätere abfrage speichern überlegungen zur dateisicherheit sie können datei uploads nur auf authentifizierte benutzer oder auf bestimmte rollen beschränken, indem sie die parse server einstellungen in ihrer app konfigurieren für eine granularere kontrolle kombinieren sie diese einstellungen mit ihren acl und clp regeln schritt 7 – e mail verifizierung und passwortzurücksetzung übersicht die e mail verifizierung stellt sicher, dass benutzer die e mail adressen besitzen, mit denen sie sich registrieren, und die passwortzurücksetzung ermöglicht es ihnen, konten wiederherzustellen back4app dashboard konfiguration e mail verifizierung aktivieren unter app einstellungen > e mail einstellungen passen sie die „von“ adresse und e mail vorlagen an testen sie, indem sie einen neuen benutzer erstellen, um zu bestätigen, dass die bestätigungs e mail gesendet wird implementierung in ihrer yii 2 anwendung leiten sie die benutzer zu einem pfad, der den passwort reset endpunkt von parse auslöst passwort reset endpunkt https //www back4app com/docs/users/password reset der rest des ablaufs (wie das senden der tatsächlichen e mail) wird von der back4app infrastruktur übernommen schritt 8 – aufgaben mit cloud jobs planen was cloud jobs tun cloud jobs in back4app ermöglichen es ihnen, routineaufgaben zu planen, wie z b daten zu bereinigen oder benachrichtigungen zu senden definieren sie sie in ihrem cloud code ( main js ) und planen sie sie im dashboard beispiel bereinigungsjob main js parse cloud job('cleanupoldtodos', async (request) => { const todo = parse object extend('todo'); const query = new parse query(todo); const now = new date(); const thirty days = 30 24 60 60 1000; const cutoff = new date(now thirty days); query lessthan('createdat', cutoff); try { const oldtodos = await query find({ usemasterkey true }); await parse object destroyall(oldtodos, { usemasterkey true }); return `deleted ${oldtodos length} old todos `; } catch (err) { throw new error('error during cleanup ' + err message); } }); schritt 9 – integration von webhooks definition webhooks ermöglichen es ihrer back4app anwendung, automatisierte http anfragen an externe dienste zu senden, wenn ereignisse auftreten, wie das erstellen eines neuen todo konfiguration gehen sie zu ihrem back4app dashboard , gehen sie zu mehr > webhooks fügen sie einen webhook endpunkt hinzu (z b https //your external service com/webhook ) konfigurieren sie trigger (z b „neuer datensatz in der todo klasse“) mit webhooks können sie benachrichtigungen an andere dienste (wie slack, stripe oder ihre benutzerdefinierte api) senden, wann immer ein todo objekt erstellt oder aktualisiert wird schritt 10 – erkundung des back4app admin panels wo man es findet die back4app admin app ist eine point and click oberfläche zur verwaltung ihrer daten, ohne code schreiben zu müssen sie können sie aktivieren, indem sie app dashboard > mehr > admin app besuchen und dann admin app aktivieren funktionen nachdem sie einen admin benutzer erstellt haben, erhalten sie eine dedizierte subdomain für ihre admin app dies bietet autorisierten teammitgliedern eine saubere oberfläche für crud operationen in ihrer back4app datenbank, das überprüfen von protokollen oder das anzeigen von analysen – kein code erforderlich fazit in diesem tutorial haben sie erfahren, wie man ein backend für yii 2 mit back4app erstellt sie haben eine cloudbasierte datenbank konfiguriert, robuste sicherheit mit acls und clps eingerichtet, hintergrundaufgaben mit cloud jobs geplant und externe dienste über webhooks integriert sie haben auch gesehen, wie man die benutzerauthentifizierung und die dateispeicherung sicher verwaltet nachdem sie ein open source yii framework zum erstellen von webanwendungen mit der skalierbaren infrastruktur von back4app kombiniert haben, haben sie nun eine leistungsstarke umgebung, die bereit für entwicklung und wachstum ist nächste schritte richtung produktion gehen durch erweiterung ihrer datenmodelle, anwendung zusätzlicher sicherheitseinstellungen und optimierung der leistung externe apis integrieren (zahlungsgateways, e mail anbieter) über cloud code oder direkte webhooks offizielle back4app dokumentation erkunden für tiefere themen wie erweiterte sicherheit, protokollanalyse und leistungsoptimierungen mehr erfahren über den aufbau komplexer webanwendungen mit yii 2 durch die verwendung von rollenbasiertem zugriff, caching strategien und erweiterten datenbankbeziehungen mit diesem fundament können sie ihr yii 2 projekt weiter verbessern, sich auf geschäftsspezifische logik konzentrieren und robuste, skalierbare funktionen für ihre benutzer bereitstellen viel spaß beim programmieren und beim erstellen moderner webanwendungen