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

Softwareingenieure: hier beginnen

Wo Softwareingenieure beginnen, die Exponential als System bewerten, entwerfen, betreiben, prüfen oder dazu beitragen. Das System in einem Absatz, Ihre erste Stunde, fünf technische Regeln und eine Übersicht über jede…

Download as PDF

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

On this page

This page is a translation. Read the English original

Softwareingenieure: hier beginnen

Dieser Bereich der Hilfe richtet sich an Softwareingenieure, gleich in welcher Sprache Sie sonst schreiben: an Menschen, die Exponential für ein Projekt bewerten, ein System darum herum entwerfen, es in der Produktion betreiben, Änderungen daran prüfen oder Code zurückgeben. Er erklärt das System als System: seine Teile und ihre Verträge, wie eine Anfrage hindurchläuft, wo Daten liegen, welche Caches wo sitzen, wie es ausgeliefert, getestet, veröffentlicht und abgesichert wird und welche Dokumente für jeden dieser Punkte maßgeblich sind.

Diese Seiten wiederholen nicht die ausführlichen Anleitungen. Sie geben Ihnen die technische Sicht und verweisen auf die Seite mit den Details, meist in doc/eng-us/standards/, doc/eng-us/bc/6.0/, doc/eng-us/features/6.0/ oder den Anleitungen. Wo die Quellen eine Frage nicht beantworten, sagen die Seiten das, statt zu raten.

Inhalt

  1. Exponential in einem Absatz
  2. Ihre erste Stunde
  3. Fünf technische Regeln
  4. Übersicht der Seiten für Softwareingenieure
  5. Seiten anderer Zielgruppen, die Sie nutzen werden
  6. Diese Seiten wiederfinden

Exponential in einem Absatz

Exponential ist ein freies, quelloffenes PHP-Content-Management-System und Anwendungs-Framework, lizenziert unter der GNU GPL, Version 2 oder später. Sein README nennt es "a professional PHP application framework with advanced CMS (content management system) functionality", dessen bemerkenswerteste Eigenschaft "its fully customizable and extendable content model" ist. Der Kernel (kernel/, lib/) läuft auf PHP 8.0 bis 8.5 (PHP 7.4 ohne Support nutzbar), speichert Inhalte in SQLite 3 (Standard), PostgreSQL, MongoDB, MariaDB, Oracle oder MySQL, gibt über seine eigene Template-Sprache aus und wird über Erweiterungen in extension/ erweitert. Seit 6.0.15 liefert es einen eigenen Anwendungsserver mit, Exponential Velocity, neben Apache oder nginx mit PHP-FPM und FrankenPHP. Die Codebasis wurde ab 1999 entwickelt, zuerst unter dem Namen eZ Publish, einem Produkt, das sein Hersteller nach fast 18 Jahren eingestellt hat; heute führt 7x die Entwicklung, und die Exponential Foundation betreibt und finanziert das Projekt (Wer ist 7x?, Wer ist die Exponential Foundation?).

Ihre erste Stunde

  1. Die Gestalt erfassen (10 Minuten): Exponential für Softwareingenieure und Architekturüberblick.
  2. Einer Anfrage folgen (10 Minuten): Der Lebenszyklus einer Anfrage.
  3. Wissen, wo Zustand liegt (10 Minuten): Datenbanken: eine wählen und betreiben und Caching-Ebenen für Ingenieure.
  4. Wissen, wie es läuft (10 Minuten): Anwendungsserver und Nebenläufigkeit, Statics und langlebige Prozesse.
  5. Wissen, wie Änderungen kontrolliert werden (10 Minuten): Teststrategie, CI-Gates und Release Engineering.
  6. Den Sicherheitsvertrag kennen (10 Minuten): Sicherheitstechnik im Überblick.

Fünf technische Regeln

  1. Ändern Sie nie kernel/, lib/ oder eine andere Erweiterung an Ort und Stelle. Eine Aktualisierung ersetzt sie. Verwenden Sie die Erweiterungspunkte; ein Override einer Kernel-Klasse ist das letzte Mittel (Events, Erweiterungspunkte und Plugins).
  2. Gehen Sie von einem langlebigen Prozess aus. Unter Velocity bedient ein Worker viele Anfragen: keine Daten je Anfrage in Statics ohne Zurücksetzen, idempotente Registrierungen (Nebenläufigkeit, Statics und langlebige Prozesse).
  3. Schreiben Sie für jede Datenbank. Gehen Sie über eZDB::instance(), maskieren und casten Sie, und liefern Sie Schemaänderungen für jeden Treiber mit (Portables SQL schreiben).
  4. Ein veröffentlichter Tag ändert sich nie. Ein Fehler in einem Release wird durch die nächste Version behoben, nie durch Verschieben eines Tags (Versionsnummern und unveränderliche Tags).
  5. Jeder Bruch hat Upgrade-Hinweise. Eine Änderung, die von einer Installation eine Handlung verlangt, erhält eine Seite in doc/eng-us/bc/6.0/ (Richtlinie zur Rückwärtskompatibilität).

Übersicht der Seiten für Softwareingenieure

Orientierung

SeiteWobei sie Ihnen hilft
Exponential für Softwareingenieuredas System, seinen Stack und seine Einschränkungen auf einer Seite verstehen
Lesepfad für Softwareingenieuredie Seiten in sinnvoller Reihenfolge lesen, nach Rolle
Exponential bewerteneine strukturierte technische Bewertung durchführen
Glossar für Softwareingenieure, FAQ für SoftwareingenieureBegriffe und schnelle Antworten

Architektur

SeiteWobei sie Ihnen hilft
Architekturüberblickdie Schichten und ihre Verantwortlichkeiten sehen
Der Lebenszyklus einer Anfrageeiner Anfrage von index.php bis zur Antwort folgen
Kernel, lib und Erweiterungen: die Schichtungwissen, welcher Code von welchem abhängen darf
Siteaccesses und Konfigurationdie INI-Kaskade und die Siteaccess-Zuordnung verstehen
Module, Views und ZugriffskontrolleRouting und das Berechtigungsmodell verstehen
Das Inhaltsmodell für IngenieureKlassen, Objekte, Versionen, Knoten und Datentypen verstehen
Persistenz und die DatenbankschichteZDB und eZPersistentObject verstehen
Die Template-Engine und die Design-Kettekompilierte Templates, Overrides und Designs verstehen
Events, Erweiterungspunkte und Pluginserweitern, ohne zu forken
Konsole, Cronjobs und HintergrundarbeitArbeit außerhalb einer Webanfrage ausführen

Daten

SeiteWobei sie Ihnen hilft
Datenbanken: eine wählen und betreibenunter den sechs unterstützten Datenbanken wählen
Schemaänderungen und Migrationeneine Schemaänderung ausliefern, die jede Installation anwenden kann
Portables SQL schreibenAbfragen schreiben, die auf jedem Treiber funktionieren

Laufzeit, Leistung und Skalierung

SeiteWobei sie Ihnen hilft
Caching-Ebenen für Ingenieurejeden Cache und seine Schlüssel kennen
Cache-Invalidierung und Leerennach einer Änderung korrekt invalidieren
Anwendungsserverzwischen Apache oder nginx mit PHP-FPM, Velocity und FrankenPHP wählen
Persistente Worker von Velocityden Worker-Pool und sein Rücksetzmodell verstehen
Nebenläufigkeit, Statics und langlebige ProzesseCode schreiben, der in einem persistenten Worker sicher ist
Skalierung und Clusteringmehrere Webknoten und gemeinsamen Speicher planen
Leistungsmessung und Benchmarksvor und nach einer Änderung messen

Betrieb

SeiteWobei sie Ihnen hilft
Beobachtbarkeit: Logs, Debug-Leiste und Audit-Trailsehen, was das System tut
Eine Änderung bereitstelleneine PHP-, Einstellungs- oder Template-Änderung in der richtigen Reihenfolge ausliefern
Umgang mit Störungenauf einen Ausfall oder eine Regression reagieren
Installationen mit mehreren Websitesmehrere Websites aus einer Installation betreiben
Internationalisierung und Rechts-nach-linksSprachen, Gebietsschemata und Schreibrichtung behandeln

Qualität

SeiteWobei sie Ihnen hilft
Teststrategiewissen, welche Arten von Tests es gibt und wann jede läuft
Tests ohne Datenbank und TestsuitenTests ohne Datenbank schreiben und ausführen
Statische Analyse und Codestilmit PHPStan, der Baseline und phpcs arbeiten
CI-Gateseine rote Prüfung lesen und reproduzieren
Checkliste für Code-Reviews, Checkliste für Design-Reviewseine Änderung oder einen Entwurf prüfen
Mit technischen Schulden umgehenSchulden finden, festhalten und abbauen

Release Engineering und Kompatibilität

SeiteWobei sie Ihnen hilft
Release Engineeringein Release des Kernels oder einer Erweiterung erstellen
Versionsnummern und unveränderliche Tagsdie nächste Nummer wählen und nie einen Tag verschieben
Changelogs und Upgrade-Hinweisedie Aufzeichnung einer Änderung schreiben
Abhängigkeitsverwaltung mit ComposerPakete festlegen, neu festlegen und auflösen
Richtlinie zur Rückwärtskompatibilitätwissen, was als Bruch zählt und was ihn begleiten muss

Sicherheit

SeiteWobei sie Ihnen hilft
Sicherheitstechnik im Überblickdas Sicherheitsmodell, die Standards und den Meldeprozess kennen
HTTP-Sicherheit: Header, CSP, Anfrageregeln und Proxysdie HTTP-Schicht sicher konfigurieren
Authentifizierung, Sessions und Zwei-Faktor-AnmeldungAnmeldung und Sessions verstehen
Checkliste für Sicherheitsprüfungeneine Änderung auf Sicherheit prüfen

Schnittstellen und Zusammenarbeit

SeiteWobei sie Ihnen hilft
API-Design: REST, ezjscore und Headlesseine API wählen und entwerfen
Git-Arbeitsablaufmit Branches, Commits und Pull-Requests arbeiten
Upstream beitrageneine Änderung an den Kernel oder eine Erweiterung schicken
Dokumentation als CodeHilfeseiten wie Code schreiben und prüfen

Seiten anderer Zielgruppen, die Sie nutzen werden

SeiteWarum Softwareingenieure sie lesen
Erweiterungsentwicklungder vollständige Kurs vom Benutzer zum Erweiterungsentwickler, mit einer API-Referenz
Anwendungsentwickler: hier beginnenAnwendungen auf Exponential bauen, mit Code
PHP-Entwickler: hier beginnendie PHP-Seite im Detail
Web-Framework-Entwickler: hier beginnenExponential im Vergleich mit anderen Web-Frameworks
Hosting-Unternehmen: hier beginnenServer, Panels, Betrieb und Runbooks
Datenbankunterstützungdie Unterstützungsaussage für jede Datenbank
Mit Git entwickeln, Mit Git aktualisierenArbeit mit Klonen des Kernels und der Erweiterungen
Sicherheitshärtungdie an Angreifern orientierte Anleitung zur Härtung
Was Exponential istdie Produktfamilie und was jedes Produkt enthält

Diese Seiten wiederfinden

  • Filtern Sie in der Hilfe nach der Zielgruppe Softwareingenieure, oder öffnen Sie Alle Seiten und den Ordner softwareingenieure.
  • Jede Seite hat Auf GitHub bearbeiten. Ist eine Aussage hier falsch oder veraltet, korrigieren Sie sie dort; die Seiten werden wie Code geprüft (Dokumentation als Code).

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