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

Erweiterungsentwicklung: das Buch (hier beginnen)

Ein vollständiges Buch über den Weg vom Benutzer zum Builder, Erweiterungsentwickler und Theme-Entwickler mit Exponential - Ideen finden, Erweiterungen mit und ohne RAD-Werkzeuge bauen, aktualisieren, ethisch forken…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/extension-development/README.md

On this page

This page is a translation. Read the English original

Erweiterungsentwicklung: das Buch (hier beginnen)

Dieses Buch zeigt Ihnen Schritt für Schritt, wie Sie verändern, was Exponential kann. Es beginnt dort, wo Sie stehen, als Benutzer der Administration, und führt Sie durch vier Stufen: Builder (Einstellungen, Templates, Overrides), Erweiterungsentwickler (Module, Operatoren, Datentypen, Workflow-Ereignisse, Cronjobs und mehr), Theme-Entwickler (Design-Erweiterungen) und Maintainer (Ihre Arbeit veröffentlichen und zur Arbeit anderer beitragen). Unterwegs zeigt es Ihnen, wo die vorhandenen Erweiterungen der Community zu finden sind, damit Sie mit dem beginnen, was andere gebaut haben, statt bei null, und wie Sie deren Arbeit fair wiederverwenden.

Jeder Befehl und jedes Codebeispiel in diesem Buch wurde am Kernel geprüft, den es beschreibt: Die genannten Klassen, Methoden und Einstellungen existieren, die PHP-Beispiele bestehen php -l, und die Template-Beispiele wurden von der Template-Engine gerendert. Wenn eine Seite eine Tatsache nennt, gibt sie die Datei oder die Seite an, aus der diese Tatsache stammt.

Offizielle Exponential-Zertifizierungen sind geplant, als Teil der Zukunftspläne des Projekts für die Community, Partner, Exponential-Entwickler und Lernende; sie sind noch nicht verfügbar (Zertifizierungen und Zertifikate).

Auf dem ganzen Stack entwickeln: Velocity ist Teil von Exponential 6.0.15

Seit 6.0.15 ist der Velocity Internet / Web Application Server Teil von Exponential: Die composer.json des Hauptpakets verlangt se7enxweb/exponential-velocity ~0.0.4.57, sodass Ihre Entwicklungsinstallation denselben Server hat, auf dem die Produktion läuft, auf PHP 8.0 und neuer. Für einen Erweiterungsentwickler ändert das drei Dinge:

  • Sie entwickeln gegen die Engine, die die Website ausliefert. Der eigene Server von Velocity ist die empfohlene Engine für jede Stufe, vom Laptop bis zur Produktion (FrankenPHP ist die produktionsreife Alternative). Starten Sie ihn mit ./console exp:velocity start, nachdem Sie [ServerSettings] Engine=qbix gesetzt haben.
  • Worker halten Ihren Code geladen. Eine geänderte Klasse oder Einstellung erreicht die Website nach ./console exp:velocity deploy (oder restart), das die Autoloads neu erzeugt, die Caches leert und die Worker in der richtigen Reihenfolge neu startet; ./console exp:velocity cache clear leert den Antwort-Cache. Schreiben Sie Code, der keinen Zustand pro Anfrage in statischen Variablen oder Globals hält, damit er sich unter persistenten Workern genauso verhält wie unter PHP-FPM.
  • Es ist mehr im Lieferumfang. Die RAD-Werkzeuge schreiben in Minuten eine funktionierende Erweiterung, und Velocity bringt WebSockets und Server-Sent Events, einen Scheduler und einen Antwort-Cache ohne weiteres Paket mit. Exponential ist ein einziger funktionierender Stack (Server, RAD-Plattform, CMS, Digital Experience, E-Commerce), nicht nur ein Framework, das Sie selbst vervollständigen.

Die Geschichte: Velocity ist Teil von Exponential 6.0.15. Die Engines: Velocity-Engines. Die RAD-Werkzeuge: RAD-Werkzeuge.

Die Teile

TeilFürWas Sie lernen
Teil 1: Vom Benutzer zum EntwickleralleWas eine Erweiterung ist, die Werkzeuge, eine Entwicklungsinstallation, Code und Logs lesen, vorhandene Erweiterungen auf GitHub, Packagist, Share Exponential, Exponential Projects und eZpedia finden und sie im Rahmen ihrer Lizenzen wiederverwenden
Teil 2: Der BuilderBuilder, Designer, AnwendungsentwicklerEinstellungen und ihre Geltungsbereiche, Templates, die Design-Kette, Overrides, View-Modi, Fetch, Inhaltsklassen, Rollen, Workflows, Cronjobs, alles ohne PHP
Teil 3: Der ErweiterungsentwicklerEntwicklerDer Aufbau einer Erweiterung, Kapitel für Kapitel: Metadaten, Einstellungen, Autoloads, Module und Views, Richtlinien, Operatoren, Fetch-Funktionen, Datentypen, Workflow-Ereignisse, Cronjobs, Befehle, Designs, Ajax, Übersetzungen, Tabellen, Events, Handler, Sicherheit, CSP, Administrationsseiten, Tests, Dokumentation
TutorialsEntwicklerEchte kleine Erweiterungen, Schritt für Schritt gebaut, mit den RAD-Werkzeugen und von Hand
Teil 4: Eine alte Erweiterung aktualisierenEntwicklerEine Erweiterung, die für ältere PHP-Versionen und ältere Releases geschrieben wurde, auf Exponential 6 bringen, mit Vorher-nachher-Beispielen aus Erweiterungen, die dieses Projekt modernisiert hat
Teil 5: Erweitern, forken und beitragenEntwickler, DesignerErweitern ohne zu forken, ethisch forken und umbenennen, Lizenzen, Namensnennung, Pull Requests, verwaiste Erweiterungen übernehmen, der Weg zum Maintainer
Teil 6: Theme-EntwicklerDesignerThemes als Design-Erweiterungen, mit dem RAD-Assistenten und von Hand; Assets, der Packer, CSP, Dark Mode, Verteilung
Teil 7: Ihre Erweiterung veröffentlichenMaintainerVersionsnummern, Metadaten, Composer und Packagist, Changelogs, GitHub-Releases, Pakete, die Release-Checkliste
Teil 8: ReferenzEntwicklerDie Kernel-Klassen, APIs, Operatoren, Funktionen, Einstellungen und Befehle, die ein Erweiterungsautor am häufigsten braucht

Wo Sie beginnen

Sie sindBeginnen Sie mit
Redakteur oder Administrator und möchten bauenTeil 1, dann Teil 2
PHP-Entwickler und neu bei ExponentialWas eine Erweiterung ist, dann Teil 3 und die Tutorials
DesignerTeil 2, dann Teil 6
AnwendungsentwicklerTeil 2, dann das Abschluss-Tutorial
Jemand mit einer alten Erweiterung, die auf den neuesten Stand mussTeil 4
Kurz davor, eine Erweiterung zu veröffentlichenTeil 7 und Teil 5

Lesepfade durch das Buch nennt vollständige Lesereihenfolgen für jede Rolle, und der Index des Buchs führt jedes Thema von A bis Z auf.

Schnell: Was kann ich bauen, und wie schnell?

Sie möchtenSchnellster WegKapitel
Einen neuen Wert oder eine neue Funktion für Templateseinen Template-Operator, mit dem RAD-Assistenten in wenigen MinutenMit RAD: ein Template-Operator in fünf Minuten
Eine Seite mit eigener Adresseein Modul mit einer ViewVon Hand: ein Modul mit einer View
Eine neue Art von Feld für Inhalteeinen DatentypMit RAD: ein Datentyp
Dass etwas geschieht, wenn Inhalte veröffentlicht werdenein Workflow-EreignisMit RAD: ein Workflow-Ereignis
Eine Aufgabe, die jede Nacht läufteinen Cronjob-TeilVon Hand: ein Cronjob-Teil
Ein neues Ausseheneine Design-ErweiterungTeil 6
Die Einstellungen der Website unter Versionskontrolleeine reine Einstellungs-ErweiterungMit RAD: eine reine Einstellungs-Erweiterung

Die RAD-Werkzeuge finden Sie unter Setup > RAD (/setup/rad); sie listen jede Stelle auf, an der der Kernel erweitert werden kann, und schreiben für die meisten davon eine funktionierende Erweiterung. Jedes Tutorial zeigt dieselbe Erweiterung auch von Hand geschrieben, damit Sie verstehen, was der Assistent geschrieben hat, und auch ohne ihn arbeiten können.

Konventionen in diesem Buch

  • Befehle werden im Wurzelverzeichnis der Installation ausgeführt. ./console ist eine Abkürzung für bin/php/console (wie Sie sie anlegen). Fügen Sie --allow-root-user hinzu, wenn Sie einen Befehl als root ausführen.
  • Beispielerweiterungen heißen mysite_hello und ähnlich, und neue Klassen beginnen mit exp oder Ihrem eigenen Präfix, nie mit ez: Dieses Präfix gehört den vorhandenen Klassen des Kernels.
  • Pfade in der Administration werden als Setup > RAD geschrieben, Adressen als /setup/rad.
  • Das Produkt heißt Exponential. Es führt die Codebasis von eZ Publish fort, das sein Hersteller nach fast 18 Jahren eingestellt hat; Kernel-Bezeichner wie eZINI und Dateinamen wie ezinfo.php behalten ihre historischen Namen.

Demomodus. Code, der Benutzerpasswörter setzt oder ändert, sollte den Demomodus beachten (EXP_DEMO_MODE=1 auf öffentlichen Demos): Demomodus für Entwickler.

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