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 für Softwareingenieure

Das ganze System auf einer Seite für Ingenieure jeder Sprachherkunft - Laufzeit, Stack, Prozessmodell, Datenspeicher, Konfiguration, Erweiterungsmodell, Qualitäts-Gates und Release-Regeln, jeweils mit der Datei oder dem…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/software-engineers/exponential-for-software-engineers.md

On this page

This page is a translation. Read the English original

Exponential für Softwareingenieure

Diese Seite richtet sich an Ingenieure, die das ganze System in einer Ansicht brauchen, bevor sie die Details lesen. Sie ist für Menschen jeder Sprachherkunft geschrieben: Wo Exponential etwas anders macht als die Frameworks, die Sie vielleicht kennen, sagt die Seite das. Jede Zeile nennt die Datei oder das Dokument, das maßgeblich ist.

Inhalt

  1. Der Stack
  2. Was für ein System es ist
  3. Wo es sich von anderen Frameworks unterscheidet
  4. Einschränkungen, die Sie übernehmen
  5. Wo die Wahrheit liegt

Der Stack

ThemaWas Exponential verwendetQuelle
SprachePHP 8.0 bis 8.5 (PHP 7.4 ohne Support nutzbar) ("php": "^7.4 || ... || ^8.8")composer.json
PaketeComposer; das Hauptpaket ist se7enxweb/exponential, Typ ezpublish-legacycomposer.json
LizenzGNU GPL, Version 2 oder späterLICENSE, composer.json
DatenbankenSQLite 3 (Standard), PostgreSQL, MongoDB, MariaDB, Oracle, MySQLDatenbankunterstützung
KonfigurationINI-Dateien, über eZINI gelesen und in fester Reihenfolge zusammengeführtSiteaccesses und Konfiguration
Templateseine eigene Template-Sprache (.tpl), von eZTemplate zu PHP kompiliertDie Template-Engine und die Design-Kette
ServerApache oder nginx mit PHP-FPM, Exponential Velocity (Engine qbix), FrankenPHPAnwendungsserver
TestsPHPUnit (phpunit.xml), die meisten Suiten ohne DatenbankTeststrategie
Statische PrüfungenPHPStan Stufe 1 mit einer Baseline, PHP_CodeSniffer mit eigenen Sniffs des ProjektsStatische Analyse und Codestil
CIGitHub Actions: Quality, PHPUnit, Performance, CI healthCI-Gates

Was für ein System es ist

  • Ein Inhalts-Repository mit einem Anwendungs-Framework drumherum. Im Zentrum steht ein Inhaltsmodell, das Administratoren zur Laufzeit festlegen (Inhaltsklassen mit typisierten Attributen), versionierte Objekte und ein Baum von Platzierungen. Der meiste Code, den Sie schreiben, liest oder ändert dieses Modell (Das Inhaltsmodell für Ingenieure).
  • Ein modularer Monolith. Eine Installation ist eine PHP-Anwendung: Kernel, Bibliotheken und Erweiterungen laufen im selben Prozess und teilen eine Datenbank. Erweiterungen sind Verzeichnisse, keine Dienste.
  • Konfigurationsgesteuert. Module, Datentypen, Workflow-Events, Template-Operatoren, Cronjob-Teile, Caches und Handler werden alle über INI-Einstellungen gefunden; die meisten Erweiterungspunkte bestehen also darin, "eine Zeile in eine Einstellungsdatei und eine Klasse in Ihre Erweiterung zu schreiben" (Events, Erweiterungspunkte und Plugins).
  • Zuerst serverseitig gerendert, API-fähig. Seiten werden von Templates gerendert; JSON-Endpunkte (ezjscore), eine REST-API (ezprestapi) und entfernte Dienste gibt es für Headless und Apps (API-Design).

Wo es sich von anderen Frameworks unterscheidet

Sie erwarten vielleichtIn Exponential
Überall PSR-4-NamensräumeDer Kernel behält seine Klassennamen (eZContentObject, eZINI) und eine erzeugte Klassenzuordnung; neuerer Code verwendet das Präfix exp und für die ausführbaren Klassen Namensräume wie Exponential\Runnable
Eine RoutendateiModul- und View-Definitionen in module.php, URL-Aliase in der Datenbank, Siteaccess-Zuordnung aus site.ini
Ein ORM mit MigrationeneZPersistentObject (eine Klasse je Tabelle, ein Array definition()) und SQL-Update-Dateien je Treiber, von Hand angewendet
Umgebungsvariablen für die KonfigurationINI-Dateien in einer Kaskade; umgebungsspezifische Einstellungen werden unterstützt (Umgebungseinstellungen)
Twig oder Bladedie Template-Sprache von Exponential mit Operatoren, Funktionen und Fetch-Funktionen; Symfony und Twig nur über die Legacy Bridge
TypdeklarationenDer Kernel-Stil verbietet skalare und Rückgabe-Typdeklarationen von PHP 7+, weil der Code auf PHP 8.0 laufen und seine Signaturen behalten muss (Codestil)

Einschränkungen, die Sie übernehmen

Wo die Wahrheit liegt

FrageDokument
Wie ist der Kernel gebaut?Kernel-Architektur
Welche Schicht darf welche aufrufen?Regeln zu Schichtung und Benennung
Was ist ein Bruch, wie wird veröffentlicht und bereitgestellt?Kompatibilität, Releases und Bereitstellung
Wie werden Commits und Releases gemacht?Versionsverwaltung und Releases
Welche Muster verwendet der Code?Katalog der Entwurfsmuster
Was hat sich in einem Release geändert?Changelog 6.0.15 und die Upgrade-Hinweise in doc/eng-us/bc/6.0/

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