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

Häufige Fragen von Softwareingenieuren

Kurze Antworten auf die Fragen, die Softwareingenieure zuerst zu Exponential stellen - Sprache und Versionen, Frameworks und PSRs, ORM und Migrationen, Datenbanken, Server, Statics, Caches, Tests, Releases…

Download as PDF

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

On this page

This page is a translation. Read the English original

Häufige Fragen von Softwareingenieuren

Kurze Antworten, jeweils mit der Seite, die die Details enthält.

Inhalt

  1. Plattform
  2. Daten
  3. Laufzeit
  4. Qualität und Releases
  5. Menschen und Lizenzen

Plattform

Welche PHP-Versionen? PHP 8.0 bis 8.5. Die CI prüft jede Datei mit PHP 8.0 und startet den Kernel damit; PHPUnit läuft auf 8.1 bis 8.5 (CI-Gates).

Baut es auf Symfony oder Laravel auf? Nein. Der Kernel ist ein eigenes Framework. Die Symfony-Plattformprodukte binden ihn über die Legacy Bridge ein (Symfony und die Legacy Bridge).

Folgt es PSR-4 und PSR-12? Nein, bewusst nicht: erzeugte Klassenzuordnungen statt PSR-4 und ein eigener Codestil, geprüft von phpcs.xml.dist (Abhängigkeitsverwaltung mit Composer).

Warum keine Typdeklarationen im Kernel-Code? Der Code muss auf PHP 8.0 laufen und seine Signaturen behalten, die Erweiterungen überschreiben (Statische Analyse und Codestil).

Wohin gehört mein Code? In eine Erweiterung, fast immer (Kernel, lib und Erweiterungen: die Schichtung).

Daten

Gibt es ein ORM? Einen Active-Record-Mapper, eZPersistentObject, eine Klasse je Tabelle; keine Unit of Work, keine verzögert geladenen Beziehungen (Persistenz und die Datenbankschicht).

Gibt es Migrationen? Schemadateien (.dba) und SQL-Update-Dateien je Treiber, von Hand angewendet; kein Läufer hält fest, was ausgeführt wurde (Schemaänderungen und Migrationen).

Welche Datenbank sollten wir verwenden? SQLite 3 für eine Maschine, PostgreSQL für mehrere Knoten oder den am besten getesteten Server; die offizielle Reihenfolge ist SQLite 3, PostgreSQL, MongoDB, MariaDB, Oracle, MySQL (Datenbanken: eine wählen und betreiben).

Werden Prepared Statements verwendet? Anweisungen werden als Zeichenketten gebaut; jede Zeichenkette wird mit escapeString() maskiert und jede Zahl umgewandelt (Portables SQL schreiben).

Laufzeit

Welcher Server sollte es ausliefern? Das Projekt empfiehlt Velocity; FrankenPHP ist die produktionsreife Alternative, und PHP-FPM hinter einem beliebigen Webserver funktioniert weiterhin (Anwendungsserver).

Sind Statics unter Velocity sicher? Statische Eigenschaften werden nach jeder Anfrage wiederhergestellt, aber Warm-up-Zustand, bewusst behaltene Globals, Ressourcen und angesammelte Registrierungen sind Ihre Sache (Nebenläufigkeit, Statics und langlebige Prozesse).

Warum ist meine Änderung nicht sichtbar? Meist die Reihenfolge: Der Code muss geladen sein (PHP-FPM, Neustart von Velocity), bevor die Seiten-Caches geleert werden (Eine Änderung bereitstellen).

Gibt es einen Health-Endpunkt? Keinen einzelnen; prüfen Sie die Startseite und die Anmeldung der Administration von außen und die Statusbefehle auf dem Server (Beobachtbarkeit).

Kann es auf mehreren Webknoten laufen? Ja, mit einem Datenbankserver, dem DFS-Cluster-Datei-Handler für Dateien und einem geteilten Session-Handler (Skalierung und Clustering).

Qualität und Releases

Wie führe ich die Tests aus? php vendor/bin/phpunit führt jede Suite ohne Datenbank aus (Tests ohne Datenbank und Testsuiten).

Warum ist die CI bei meinem Pull-Request rot, obwohl mein Branch grün war? Sie testet den Merge mit main; führen Sie main in Ihren Branch zusammen (CI-Gates).

Was kommt nach 0.0.4.9? 0.0.4.10 (Versionsnummern und unveränderliche Tags).

Lässt sich ein fehlerhafter Tag reparieren? Nein. Veröffentlichen Sie die nächste Version und sagen Sie in ihren Hinweisen, was falsch war.

Wo finde ich, was sich geändert hat? doc/changelogs/ und die Upgrade-Hinweise in doc/eng-us/bc/6.0/ (Changelogs und Upgrade-Hinweise).

Menschen und Lizenzen

Wer pflegt es? 7x führt die Entwicklung; die Exponential Foundation betreibt und finanziert das Projekt (Wer ist 7x?, Wer ist die Exponential Foundation?).

Welche Lizenz? Die GNU GPL, Version 2 oder später, für den Code; die GNU FDL 1.3 für die Dokumentation.

Was verlangt ein Beitrag zum Kernel? Eine unterschriebene CLA, die das Urheberrecht am Beitrag an die Exponential Foundation und 7x überträgt; Ihre eigenen Erweiterungen sind nicht betroffen (Beiträge an das Projekt).

Wie melde ich eine Schwachstelle? Vertraulich, an die Adresse in SECURITY.md (Sicherheitstechnik im Überblick).

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