- Ein umkehrbares down() schreiben Wie man ein down() schreibt, das up() auf jeder Installation wirklich rückgängig macht - wiederholbar, über Remote-ID oder Bezeichner gefunden, sicher auf jeder Engine -, wann man es weglässt und wie man es mit up, down…
- Eine Migration im Code-Review prüfen Eine Checkliste für das Review einer Migration in einem Pull Request - Datei und Kopf, Reihenfolge, plan(), up() und down(), Engines und Transaktionen, IDs, die sich zwischen Installationen unterscheiden…
- Große Datenmigrationen: Stapel, Zeitgrenzen und Fortsetzen Tausende Objekte oder Zeilen in einer Migration ändern, ohne dass der Speicher ausgeht oder die Site blockiert - Stapel, transactional() mit false, ein wiederholbares up(), Pausen, Wartungsmodus und das Fortsetzen eines…
- Ein Rundgang durch den Quellbaum Jedes Verzeichnis der obersten Ebene und jeder Einstiegspunkt eines Exponential-Checkouts aus der Sicht eines PHP-Entwicklers - wo der Kernel, die Bibliotheken, die Befehle, die Einstellungen, die Tests und die…
- Migrationsbefehle Jeder Befehl exp:migration in einer Tabelle - was er tut, wann man ihn braucht, seine meistgenutzten Optionen und ein Link auf seine erzeugte Referenzseite - mit den gemeinsamen Optionen, den Exit-Codes, der…
- Migrationen: Richtlinien, Ansichten und Ereignisse Die Richtlinien des Moduls migration und welche Ansichten sie prüfen, die sieben Ansichten mit ihren Adressen, der Dashboard-Block und seine Fetch-Funktion, die ezpEvent-Ereignisse eines Laufs mit ihren Parametern und…
- Umstieg von SQL-Update-Dateien Für Teams, die Datenbankänderungen als handgeschriebene SQL-Dateien und Update-Skripte ausliefern - wie eine Änderung zu einer PHP-Migration wird, die jede Engine kennt, aufgezeichnet, mit Sicherungspunkt versehen und…
- Wie eine Anfrage in PHP abläuft Der Weg einer Webanfrage durch den PHP-Code von Exponential - index.php, autoload.php, ezpKernel und ezpKernelWeb, Initialisierung der Anfrage, URL-Übersetzung, Zugriffsprüfungen, die Modul-View, das Pagelayout und das…
- Einen PHP-Entwicklungs-Checkout einrichten Ein funktionierender Checkout für PHP-Arbeit an Exponential - klonen, Composer, eine SQLite-Installation, der Name der Entwicklungsumgebung, die Entwicklungswerkzeuge in .devtools/, die Git-Hooks, Debug-Einstellungen…
- Rezepte für Migrationen Fünfundzwanzig Aufgabenseiten für Migrationen in Exponential 6.0.15, jede mit dem, was Sie am Ende haben, den Schritten und ihrer Ausgabe, der vollständigen PHP-Migration, der Prüfung, der Rücknahme und dem nächsten…
- Unterstützte PHP-Versionen: 7.4 bis 8.5 Welche PHP-Versionen Exponential 6 unterstützt und wie jede getestet wird - PHP 7.4 als älteste (8.0 als älteste unterstützte, 7.4 ohne Support nutzbar), 8.5 als neueste, die Einschränkung in composer.json, die CI-Jobs…
- Code schreiben, der unter PHP 8.0 läuft Die Regeln für PHP-Code, der unter PHP 8.0, der ältesten unterstützten Version, laufen muss - die Syntax, die Sie nicht verwenden dürfen, wie lib/phpcompat.php und Absicherungen mit function_exists() funktionieren, in…
- Hinweise zur PHP-8-Migration für Ihren Code Was Sie an älterem PHP-Code ändern müssen, damit er unter Exponential 6 sauber unter PHP 8.0 bis 8.5 (PHP 7.4 ohne Support nutzbar) läuft - dynamische Eigenschaften, count() auf Nicht-Arrays, null an String-Funktionen…
- Der Coding-Standard (phpcs.xml.dist) Wie PHP-Code in Exponential geschrieben und geprüft wird - jede Regel aus phpcs.xml.dist mit einem Beispiel, die verbotenen Funktionen, die Prüfung auf PHP-8.0-Kompatibilität, warum nur neue Verstöße fehlschlagen, und…
- Warum der Code keine Typdeklarationen hat Eine Erklärung einer Regel, die PHP-Entwickler überrascht - Exponential-Code wird ohne skalare, Rückgabe- und Eigenschaftstypen und ohne strict_types geschrieben - was stattdessen erlaubt ist, wie Typen dokumentiert und…
- Statische Analyse mit PHPStan Wie Exponential PHPStan verwendet - Level 1 über kernel/ und lib/ mit einer Baseline der vorhandenen Befunde, was ausgeschlossen ist und warum, die Ausführung lokal und in der CI, einen Befund lesen, ihn beheben statt…
- Git-Hooks und make-Ziele Die lokalen Prüfungen des Exponential-Repositorys - die Hooks pre-commit, commit-msg und pre-push in .githooks/, jedes make-Ziel von make check bis make lint80-all, das Datei-Manifest share/filelist.md5 und das Format…
- CI und das Nachstellen einer roten Prüfung Die Continuous Integration des Exponential-Repositorys aus der Sicht eines PHP-Entwicklers - die Workflows Quality, PHPUnit, Performance und CI health, was blockiert, wie ein Pull Request getestet wird und der lokale…
- PHPUnit ohne Datenbank Wie das PHPUnit-Setup von Exponential für PHP-Entwickler funktioniert - phpunit.xml, tests/bootstrap.php, die Testsuites und ausgeschlossenen Gruppen, PHPUnit 10 bis 13 unter PHP 8.1 bis 8.5, einen Test ohne Datenbank…
- Datenbank- und Live-Tests Tests, die eine echte Datenbank oder einen echten Server brauchen - die Gruppe database und tests/runtests.php mit einem DSN und einer Datenbank pro Test, die MongoDB- und Live-HTTP-Tests und ihre Umgebungsvariablen…
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