Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Exponential und ein Framework kombinieren

Muster für Projekte, die Exponential zusammen mit einem anderen Framework einsetzen - Exponential als Inhalts-Backend einer Framework-Website, ein Framework-Dienst, der aus Exponential aufgerufen wird, Exponential…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/web-framework-developers/mixing-exponential-and-a-framework.md

On this page

This page is a translation. Read the English original

Exponential und ein Framework kombinieren

Diese Seite richtet sich an Teams, die Exponential für Inhalte und ein Framework für etwas anderes einsetzen möchten. Vier Muster decken die meisten Projekte ab. Jedes folgt einer Regel: Inhalte werden über die Inhalts-API von Exponential geschrieben, damit Versionen, Caches, Berechtigungen und Suche konsistent bleiben.

Inhalt

  1. Muster 1: Exponential als Inhalts-Backend
  2. Muster 2: ein Framework-Dienst, der aus Exponential aufgerufen wird
  3. Muster 3: Exponential innerhalb von Symfony
  4. Muster 4: Bibliotheken innerhalb einer Erweiterung
  5. Benutzer auf beiden Seiten
  6. Eine Domain, zwei Anwendungen
  7. Regeln

Muster 1: Exponential als Inhalts-Backend

Die Framework-Anwendung (Laravel, Django, Rails, ein Node.js-Frontend) rendert die Seiten und liest Inhalte über die REST-API von Exponential, mit dem API-Schlüssel eines Integrationsbenutzers oder einem OAuth2-Client; Redakteure arbeiten in der Administrationsoberfläche von Exponential (Headless und entkoppelte Frontends). Leeren Sie den Cache des Frameworks beim Veröffentlichen mit einem content/cache-Listener oder einem Workflow-Ereignis, das das Framework aufruft.

Muster 2: ein Framework-Dienst, der aus Exponential aufgerufen wird

Ein Dienst, der in einem anderen Framework geschrieben ist (Abrechnung, eine Empfehlungs-Engine, ein Suchindex), wird aus einer Exponential-Erweiterung aufgerufen: Eine Klasse kapselt die HTTP-Aufrufe, ein expqueue-Job führt sie im Hintergrund aus, und ein Workflow-Ereignis oder ein Listener stellt den Job nach dem Veröffentlichen in die Warteschlange (Warteschlangen). Der Dienst ruft über die REST-API oder expservices zurück, wenn er Inhalte ändern muss.

Muster 3: Exponential innerhalb von Symfony

Die Legacy Bridge lädt den Kernel von Exponential 6 innerhalb einer Installation der Symfony-Plattform: Symfony-Controller und Twig für die öffentliche Website, die Legacy-Administrationsoberfläche für Redakteure, eine Datenbank (Die Symfony Legacy Bridge). Dies ist das einzige Muster mit einem Prozess für beide Seiten, und dasjenige mit den meisten beweglichen Teilen beim Aktualisieren.

Muster 4: Bibliotheken innerhalb einer Erweiterung

Viele Framework-Komponenten sind gewöhnliche Composer-Bibliotheken (HTTP-Clients, Validatoren, Markdown-Parser, Mailer). Binden Sie sie in der composer.json Ihrer Erweiterung ein; autoload.php lädt den Autoloader von Composer, sodass Ihre Klassen sie verwenden können. Halten Sie Framework-spezifische Laufzeitbestandteile (einen Container, einen Router, eine ORM-Verbindung) aus dem Request-Pfad des Kernels heraus.

Benutzer auf beiden Seiten

Exponential verwaltet eigene Benutzer (Inhaltsobjekte) und Sitzungen (Authentifizierung). Möglichkeiten, wenn beide Seiten dieselben Personen benötigen:

  • Die Framework-Seite tritt über die REST-API als ein einzelner Integrationsbenutzer mit eigener Rolle auf.
  • Die Framework-Seite lässt sich von den Benutzern über den OAuth2-Server von Exponential autorisieren (OAuth und API-Schlüssel).
  • Exponential prüft Anmeldedaten über einen eigenen Login-Handler gegen ein anderes System (Login-Handler für Benutzer).

Planen Sie dies frühzeitig; es gibt kein fertiges Single Sign-on zwischen Exponential und einer Framework-Anwendung.

Eine Domain, zwei Anwendungen

Ein Reverse Proxy kann Pfade an zwei Anwendungen weiterleiten (/shop/ an ein Framework, alles andere an Exponential). Dann gilt: Tragen Sie den Proxy in TrustedProxies[] ein, halten Sie die Cookie-Namen getrennt ([Session] SessionNamePrefix), und stellen Sie sicher, dass die URL-Aliase von Exponential niemals die Pfade der anderen Anwendung belegen (Hinter einem Reverse Proxy).

Regeln

  • Inhalte werden über die Inhalts-API geschrieben (eZContentFunctions, REST, expservices), niemals per SQL in die Inhaltstabellen.
  • Jede Seite besitzt ihre eigenen Tabellen; teilen Sie Daten über APIs, nicht über Fremdschlüssel.
  • Verweisen Sie von der anderen Seite aus über Remote-IDs auf Inhalte; numerische IDs unterscheiden sich zwischen Installationen.
  • Testen Sie die Integration bei jedem Release einer der beiden Seiten.

Verwandte Seiten

Werden Sie Exponential-Partner

Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x