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

Web-Framework-Entwickler: hier beginnen

Wo Entwickler, die Symfony, Laravel, Slim, CodeIgniter, Yii, CakePHP, Laminas, Django, Rails, Express oder Spring kennen, mit Exponential beginnen - was es in ihren Begriffen ist, die erste Stunde, eine Übersicht aller…

Download as PDF

Address: https://doc.exponential.earth/learninminutes/exphelp/viewer/help/web-framework-developers/web-framework-developers-start-here.md

On this page

This page is a translation. Read the English original

Web-Framework-Entwickler: hier beginnen

Dieser Bereich der Hilfe richtet sich an Entwickler, die ein Web-Framework kennen (Symfony, Laravel, Slim, CodeIgniter, Yii, CakePHP, Laminas, Django, Rails, Express, Spring) und auf Exponential aufbauen möchten. Exponential beschreibt sich selbst als „a professional PHP application framework with advanced CMS (content management system) functionality“ (README), also als professionelles PHP-Anwendungsframework mit fortgeschrittener CMS-Funktionalität. Diese Seiten übertragen, was Sie bereits kennen, in die Begriffe von Exponential, sagen klar, wo etwas anders funktioniert, und sagen ebenso klar, wo Exponential keine direkte Entsprechung hat.

Jede Klasse, jede Einstellung und jeder Befehl, die auf diesen Seiten genannt werden, wurde am Kernel, an den Einstellungen oder an der vorhandenen Dokumentation geprüft. Wo eine Seite mit einem anderen Framework vergleicht, beschreibt sie, wofür dieses Framework bekannt ist, ohne es zu bewerten.

Inhalt

  1. Exponential in einem Absatz
  2. Ihre erste Stunde
  3. Fünf Dinge, die anders sind
  4. Übersicht der Seiten
  5. Seiten anderer Zielgruppen, die Sie nutzen werden
  6. Diese Seiten wiederfinden

Exponential in einem Absatz

Exponential 6 ist ein freies, quelloffenes PHP-Anwendungsframework und Content-Management-System unter der GNU GPL, Version 2 oder später. Ein Request kommt über index.php herein, wird einem Siteaccess zugeordnet (einer benannten Konfiguration pro Site, Sprache oder Administrationsoberfläche), von einem URL-Alias in eine Adresse der Form /<module>/<view> übersetzt, gegen Rollen und Richtlinien geprüft, von einer Modul-View bearbeitet, mit der Template-Sprache gerendert und in das Seitenlayout eingesetzt. Daten, die Redakteure pflegen, liegen in Inhaltsklassen mit Versionen und Übersetzungen; Ihre eigenen Tabellen verwenden eZPersistentObject. Die Konfiguration besteht aus INI-Dateien in Ebenen; der Code liegt in Erweiterungen, die mit Composer installiert werden. Ausgeliefert wird über Apache oder nginx mit PHP-FPM, über Exponential Velocity, einen Server mit persistenten Workern, der seit 6.0.15 Teil des Produkts ist, oder über FrankenPHP. Die Codebasis wurde ab 1999 entwickelt, zunächst unter dem Namen eZ Publish, den sein Hersteller nach fast 18 Jahren eingestellt hat; 7x hat sie als Exponential fortgeführt (Wer ist 7x?).

Ihre erste Stunde

  1. Installieren (10 Minuten): ./console exp:install --apply richtet eine Site auf SQLite ein (Installation mit einem Befehl).
  2. Orientieren (10 Minuten): Exponential für Web-Framework-Entwickler und Ihre Umstiegsseite (Symfony, Laravel, Slim, CodeIgniter, Yii, CakePHP oder Laminas, Django oder Rails, Express oder Spring).
  3. Übertragen (10 Minuten): das Begriffswörterbuch.
  4. Einem Request folgen (10 Minuten): Der Request-Lebenszyklus.
  5. Etwas bauen (20 Minuten für den Anfang): Aufgabe: ein kleines CRUD-Modul bauen.

Fünf Dinge, die anders sind

  1. Inhalte sind das Modell. Redaktionelle Daten sind eine Inhaltsklasse mit Versionen, Übersetzungen und Berechtigungen, keine Tabelle, die Sie entwerfen (Das Inhaltsmodell für ORM-Nutzer).
  2. Siteaccess vor dem Routing. Pro Request wird eine ganze Konfiguration ausgewählt (Siteaccesses).
  3. Kein Service-Container. Handler werden in INI-Einstellungen benannt (Dependency Injection).
  4. Templates escapen nicht automatisch und werden überschrieben statt erweitert (Die View-Schicht).
  5. Persistente Worker. Unter Velocity darf Code keinen Request-bezogenen Zustand in statischen Eigenschaften halten (Server und Deployment).

Übersicht der Seiten

Orientierung

SeiteWobei sie Ihnen hilft
Exponential für Web-Framework-EntwicklerDas Gesamtbild in Framework-Begriffen sehen
BegriffswörterbuchDen Begriff Ihres Frameworks nachschlagen und den von Exponential finden
LesepfadDie Seiten in einer sinnvollen Reihenfolge lesen
Wann Sie Exponential wählen sollten und wann ein reines FrameworkFür ein Projekt fair entscheiden

Umstieg von einem anderen Framework

SeiteWobei sie Ihnen hilft
Umstieg von SymfonyBundles, Kernel-Ereignisse, Doctrine, Forms und Security übertragen
Umstieg von LaravelRouten, Eloquent, Blade, Middleware, Queues und Artisan übertragen
Umstieg von Slim, CodeIgniter, Yii, CakePHP oder LaminasGewohnheiten aus klassischem MVC und Micro-Frameworks übertragen
Umstieg von Django oder RailsURLconf, ORMs, die Administration, Signale und Befehle übertragen
Umstieg von Express oder SpringDas Prozessmodell von PHP verstehen und den Rest übertragen

Der Request

SeiteWobei sie Ihnen hilft
Der Request-LebenszyklusWissen, wo Ihr Code läuft, von index.php bis zu den Ausgabefiltern
Siteaccesses: einen Request einer Site zuordnenSites, Sprachen und die Administrationsoberfläche pro Request konfigurieren
Routing: Module, Views und ParameterAdressen deklarieren und URLs erzeugen
Sprechende URLs: URL-Aliase und URL-PlatzhalterSlugs, Weiterleitungen und Umschreibungen ohne Code nutzen
Controller: Modul-ViewsEine View als Skript oder Klasse schreiben und Kernel-Views ändern
Responses, Weiterleitungen, Fehler und JSONSeiten, Weiterleitungen, Fehler und JSON zurückgeben

Views und Templates

SeiteWobei sie Ihnen hilft
Die View-Schicht: die Template-Sprache neben Twig und BladeTemplates schreiben und die klassischen Fehler vermeiden
Template-Auflösung: Designs und OverridesWissen, welche Datei rendert, und sie überschreiben
Daten in Templates bringen: Fetch-Funktionen und OperatorenTemplates Daten und Hilfsfunktionen bereitstellen

Daten

SeiteWobei sie Ihnen hilft
Das Inhaltsmodell für ORM-NutzerRedaktionelle Daten als Klassen, Objekte, Versionen und Knoten modellieren
ORM und Active Record: eZPersistentObjectEigene Tabellen auf Klassen abbilden
Abfragen: Content-Fetches, eZDB und SQLInhalte und Tabellen portabel abfragen
Migrationen und Startdaten: .dba-Schemadateien und PaketeSchemas und Startdaten ausliefern und aktualisieren

Konfiguration und Verdrahtung

SeiteWobei sie Ihnen hilft
Konfiguration: INI-Dateien statt YAML, PHP-Arrays oder .envEinstellungen lesen, schichten und ändern
Umgebungen und Geheimnisse: EXP_ENV und settings/overrideEntwicklung, Test und Produktion betreiben und Geheimnisse aus Git heraushalten
Dependency Injection und Dienste: was es gibtTestbaren Code ohne Container verdrahten
Erweiterungspunkte: Handler, INI-Registrierung und OverridesDie richtige Stelle zum Einklinken finden
Pakete: Erweiterungen, Composer und BundlesIhren Code strukturieren und verteilen

Request-Verarbeitung, Ereignisse und Sicherheit

SeiteWobei sie Ihnen hilft
Middleware: Request-Regeln, Eingabe- und Ausgabe-ListenerDas tun, was Middleware tut
Ereignisse und Listener: ezpEventKernel-Ereignisse abonnieren und eigene auslösen
Workflows und Trigger: Einstiegspunkte an InhaltsoperationenSchritte vor und nach dem Veröffentlichen und dem Bestellabschluss ausführen
Authentifizierung und SitzungenBenutzer und Maschinen anmelden
Autorisierung: Rollen, Richtlinien und EinschränkungenBerechtigungen deklarieren und prüfen
Formulare und CSRF-SchutzFormulare sicher verarbeiten
Validierung: Eingaben, Datentypen und EscapingEingaben validieren und Ausgaben escapen

Performance und Sprachen

SeiteWobei sie Ihnen hilft
Caching: die Ebenen und wie man sie invalidiertRichtig cachen und das Richtige leeren
HTTP-Caching und Reverse ProxiesHeader, den HTTP-Cache und den Response-Cache nutzen
Übersetzungen, Locales und Rechts-nach-links-SchriftDie Oberfläche und die Inhalte übersetzen

Hintergrundarbeit, APIs und Betrieb

SeiteWobei sie Ihnen hilft
Kommandozeile: die Konsole und eZScriptBefehle ausführen und schreiben
Warteschlangen und HintergrundjobsLangsame Arbeit aus Requests auslagern
Geplante Aufgaben: CronjobsArbeit nach Zeitplan ausführen
REST- und JSON-APIsDie richtige API-Schicht wählen
Headless und entkoppelte FrontendsInhalte an ein anderes Frontend ausliefern
Testen: PHPUnit, Datenbanktests und PrüfungenOhne Angst testen
Debugging, Logging und FehlerIn einen Request hineinsehen und die Logs lesen
Server und Deployment: Apache und PHP-FPM, Velocity, FrankenPHPAusliefern und deployen

Exponential mit anderen Frameworks

SeiteWobei sie Ihnen hilft
Exponential und ein Framework kombinierenBeides in einem Projekt verbinden
Die Symfony Legacy Bridge für Framework-EntwicklerExponential 6 innerhalb von Symfony betreiben
Die Produkte der Exponential PlatformEine auf Symfony basierende Distribution wählen

Praxis, Prüfungen und Referenz

SeiteWobei sie Ihnen hilft
Aufgabe: ein kleines CRUD-Modul Schritt für Schritt bauenJedes Teil einmal von Hand bauen
Zehn Stolperfallen für Framework-EntwicklerDie Fehler vermeiden, die alle zuerst machen
Checklisten für Framework-EntwicklerBewerten, einrichten, prüfen und live gehen
FAQ für Web-Framework-EntwicklerSchnelle Antworten erhalten
Glossar für Web-Framework-EntwicklerEinen Begriff von Exponential nachschlagen

Seiten anderer Zielgruppen, die Sie nutzen werden

SeiteWarum
Anwendungsentwickler: hier beginnenDie ausführlichen Leitfäden hinter den meisten Seiten hier: Module, Datentypen, Workflows, Warteschlangen, REST, Deployment
Erweiterungsentwicklung: das BuchJeder Erweiterungspunkt Schritt für Schritt, vom Benutzer bis zum Maintainer
PHP-Entwickler: hier beginnenDie PHP-Seite: Sprache, Konventionen und die Klassen des Kernels
Softwareingenieure: hier beginnenArchitektur, Qualität und Ingenieurspraxis
Die Template-SpracheDie Sprache im Detail, mit Vergleichen zu Smarty
Kernel-ArchitekturDie maßgebliche Beschreibung der Schichten des Kernels
ErweiterungspunkteDer Katalog aller Erweiterungspunkte
DatenbankunterstützungDie unterstützten Datenbanken und wie jede getestet wird

Diese Seiten wiederfinden

Filtern Sie in der Hilfe nach der Zielgruppe Web-Framework-Entwickler; die Seiten liegen im Ordner web-framework-developers (in der deutschen Hilfe hilfe/web-framework-entwickler). Suchen Sie nach dem Namen eines Frameworks („Symfony“, „Laravel“, „Django“), um den Vergleich zu finden, der es erwähnt.

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