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

Erweiterungspunkte: Handler, INI-Registrierung und Overrides

Wo Framework-Entwickler Dienste, Tags, Listener und Plugins registrieren, registriert Exponential Erweiterungspunkte in INI-Einstellungen, Verzeichnissen und Designs - die neun Registrierungsmechanismen, eine Übersicht…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/web-framework-developers/extension-points-and-handlers.md

On this page

This page is a translation. Read the English original

Erweiterungspunkte: Handler, INI-Registrierung und Overrides

Diese Seite richtet sich an Entwickler, die ein Framework erweitern, indem sie Dienste registrieren, mit Tags versehen, Listener anmelden oder Plugins schreiben. Exponential wird auf eine Handvoll wiederkehrender Arten erweitert, die alle in einem einzigen Katalog aufgeführt sind: expRADCatalogue::points() (kernel/setup/expradcatalog.php), angezeigt unter Setup > RAD (/setup/rad) mit 70 Erweiterungspunkten, die meisten davon mit einem Assistenten, der den Grundcode schreibt (Erweiterungspunkte, RAD-Werkzeuge).

Inhalt

  1. Die Registrierungsmechanismen
  2. Die Erweiterungspunkte, die Sie zuerst nutzen werden
  3. Gegenstücke in Frameworks
  4. Reihenfolge der Bevorzugung

Die Registrierungsmechanismen

Aus Wie Dinge registriert werden:

MechanismusFunktionsweiseNächstliegende Framework-Idee
directoryeine Klasse in einem Verzeichnis, das der Kernel durchsucht und das durch eine Einstellung RepositoryDirectories oder ExtensionDirectories benannt istautomatische Erkennung per Konvention
handlereine Klasse, die durch eine INI-Einstellung benannt und über eZExtension::getHandlerClass() erzeugt wirdeine konfigurierte Dienstimplementierung
autoloadeine Klasse, die über die Autoload-Tabelle der Erweiterung erreicht wirdautomatisch verdrahtete Klassen (Autowiring)
fileeine Datei an einem Ort, an dem der Kernel nach Namen suchtKonvention vor Konfiguration
designein Template in einem Design, gefunden über die Design-KetteOverride des Template-Pfads
ininur EinstellungenKonfiguration
registryEinträge einer Registry, die rad.ini deklariertgetaggte Dienste
filterein Listener eines Filter-Ereignisses in site.ini [Event] Listeners[]Event Subscriber, der einen Wert zurückgibt
overrideeine Kernel-Klasse, die über das Override-Autoload ersetzt wirdKlassenersetzung, Monkey Patching

Die Erweiterungspunkte, die Sie zuerst nutzen werden

Sie möchtenErweiterungspunktRegistriert durch
Neue Adressen und BildschirmeModul und Viewsmodule.ini [ModuleSettings] ExtensionRepositories[]
Eine Berechtigung dafürRichtlinienfunktion und Einschränkung$FunctionList in module.php
Template-HilfsfunktionenTemplate-Operatorsite.ini [TemplateSettings] ExtensionAutoloadPath[]
Daten für TemplatesFetch-Funktionfunction_definition.php neben module.php
Einen neuen FeldtypDatentypcontent.ini [DataTypeSettings] ExtensionDirectories[], AvailableDataTypes[]
Einen Schritt in einem GeschäftsprozessWorkflow-Ereignistypworkflow.ini [EventSettings]
Code bei einem Kernel-EreignisKernel-Event-Listenersite.ini [Event] Listeners[]
Geplante ArbeitCronjob-Teilcronjob.ini
Einen JSON-Endpunkt für Ihre Seitenezjscore-Serverfunktionezjscore.ini [ezjscServer_<name>]
REST-RoutenREST-Providerrest.ini
Eine weitere AnmeldemethodeLogin-Handler für Benutzersite.ini [UserSettings] LoginHandler[]
Ihre Templates und StylesheetsDesign-Erweiterungdesign.ini [ExtensionSettings] DesignExtensions[]

Jede Zeile ist im Katalog mit ihrem Vertrag und ihrer Kernel-Datei dokumentiert, und die meisten haben eine eigene Seite in den Leitfäden für Anwendungsentwickler.

Gegenstücke in Frameworks

FrameworkSie würdenIn Exponential
Symfonyein Bundle mit services.yaml, Tags und Compiler Passes schreibeneine Erweiterung mit Einträgen in settings/*.ini.append.php schreiben
Laravelein Paket mit einem Service Provider schreibendasselbe: die Einstellungen der Erweiterung sind ihr „Provider“
Djangoeine App zu INSTALLED_APPS hinzufügendie Erweiterung zu ActiveExtensions[] hinzufügen
Railseine Engine oder einen Railtie schreibeneine Erweiterung
Springeinen Starter mit Auto-Configuration hinzufügeneine Erweiterung; INI-Einstellungen treten an die Stelle der Auto-Configuration

Reihenfolge der Bevorzugung

  1. Nur Einstellungen, wo es eine Einstellung gibt.
  2. Ein registrierter Erweiterungspunkt: ein Modul, ein Operator, ein Handler, ein Listener.
  3. Neuimplementierung eines Runnables ([RunnableSettings] Implementation[]) für einen Kernel-Befehl, einen Cronjob-Teil oder eine View.
  4. Ein Override einer Kernel-Klasse, das letzte Mittel: Nichts registriert es beim Namen, und zwei Erweiterungen, die dieselbe Klasse ersetzen, wissen nichts voneinander.

Bearbeiten Sie niemals Dateien des Kernels oder einer anderen Erweiterung direkt.

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