Schnellstarter

Wie man ein Backend für Yii 2 erstellt?

41min

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. 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 herunterladen und dem offiziellen Yii 2-Leitfaden 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.

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

Neues Projekt erstellen

Der erste Schritt, um ein Backend für Yii 2 zu erstellen, besteht darin, ein neues Back4app-Projekt zu erstellen. Wenn Sie dies noch nicht getan haben, folgen Sie diesen Schritten:

  1. Melden Sie sich bei Ihrem Back4app-Konto an.
  2. Klicken Sie auf die Schaltfläche „Neue App“ in Ihrem Back4app-Dashboard.
  3. Benennen Sie Ihre App (z. B. „Yii2-Backend-Tutorial“).
Document image


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 über die REST- oder GraphQL-APIs von Parse integrieren.

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

  1. Gehen Sie in Ihrem Back4app-Dashboard zu den „App-Einstellungen“ oder „Sicherheit & Schlüssel“.
  2. Suchen Sie Ihre Anwendungs-ID, REST-API-Schlüssel, und die Parse-Server-URL (normalerweise https://parseapi.back4app.com).
Document image


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 darin mithilfe von REST, GraphQL oder dem KI-Agenten in Back4app speichern.

Erstellen eines Datenmodells

  1. Öffnen Sie den Abschnitt “Datenbank” in Ihrem Back4app-Dashboard.
  2. Erstellen Sie eine neue Klasse (z. B. “Todo”) und fügen Sie Spalten wie title (String) und isCompleted (Boolean) hinzu.
Neue Klasse erstellen
Neue Klasse erstellen


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:

  1. Öffnen Sie den KI-Agenten von Ihrem App-Dashboard oder dem Menü.
  2. Beschreiben Sie Ihr Datenmodell (z. B. “Erstellen Sie ein Todo-App-Schema mit einer Todo-Klasse”).
  3. Erlauben Sie dem KI-Agenten das Schema zu generieren.
Document image


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.

Bash


Beispiel für einen Yii 2 PHP-Code-Schnipsel (mit cURL) in einem Controller:

PHP


Abfragen der gleichen Daten mit REST könnte so aussehen:

Bash


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:

GraphQL


In Yii 2 können Sie GraphQL-Bibliotheken 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 dennoch in Ihren Back4app-Einstellungen aktivieren und WebSocket-Verbindungen in PHP verwalten. Dies ist fortgeschrittener, daher verweisen Sie auf die Dokumentation zu Parse Live-Abfragen 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.

Document image


Einrichten von Klassenebene Berechtigungen

  1. Gehen Sie zu Datenbank in Ihrem Back4app-Dashboard und wählen Sie die Klasse (z.B. „Todo“).
  2. Öffnen Sie die CLPs-Registerkarte, und konfigurieren Sie 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:

Bash


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


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.
Document image


Aufrufen Ihrer Cloud-Funktion

Sie können Ihre Funktion von Yii 2 aus mit einer einfachen REST-POST-Anfrage aufrufen:

Bash


Oder über GraphQL:

GraphQL


Schritt 5 – Authentifizierung konfigurieren

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

Bash


Anmelden eines Benutzers

Bash

Bash


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 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:

  1. Gehen Sie zu den E-Mail-Einstellungen in Ihrem Back4app-Dashboard.
  2. Aktivieren Sie die E-Mail-Verifizierung und passen Sie Ihre E-Mail-Vorlagen an.
  3. Testen Sie ob Ihre E-Mails ordnungsgemäß gesendet und empfangen werden.

Schritt 6 – Umgang mit Dateispeicherung

Back4app bietet sichere Dateispeicherung ü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

Bash


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

  1. E-Mail-Verifizierung aktivieren unter App-Einstellungen > E-Mail-Einstellungen.
  2. Passen Sie die „Von“-Adresse und E-Mail-Vorlagen an.
  3. 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. 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


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

  1. Gehen Sie zu Ihrem Back4app-Dashboard, gehen Sie zu Mehr > WebHooks.
  2. Fügen Sie einen Webhook-Endpunkt hinzu (z. B. https://your-external-service.com/webhook).
  3. Konfigurieren Sie Trigger (z. B. „Neuer Datensatz in der Todo-Klasse“).
Hinzufügen eines Webhooks
Hinzufügen eines Webhooks


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.

Admin App aktivieren
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.

Document image


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 jetzt 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.
  • Erfahren Sie mehr ü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 Erstellen moderner Webanwendungen.