PHP development
PHP development on Exponential: the kernel, classes, autoloads, the command line, Composer, tests and coding standards.
55 pages
- PHP-Entwickler: hier beginnen Wo PHP-Entwickler beginnen - was Exponential als PHP-Codebasis ist, Ihre erste Stunde, die Regeln, denen jede PHP-Änderung folgt, und eine Übersicht aller Seiten für PHP-Entwickler, vom Lebenszyklus einer Anfrage und…
- Der Lesepfad für PHP-Entwickler Jede Seite des Abschnitts für PHP-Entwickler in einer empfohlenen Lesereihenfolge, in sechs Stufen von der Orientierung bis zum Mitwirken, mit der Zeit, die jede Stufe braucht, und dem, was Sie danach können.
- Exponential für PHP-Entwickler Was einem PHP-Entwickler in Exponential begegnet - eine große, ausgereifte PHP-Codebasis mit eigenen Konventionen, generierten Klassen-Maps, geschichteten INI-Einstellungen, persistenten Objekten und einer…
- 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…
- 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…
- 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…
- Klassenbenennung und das Präfix exp Wie Sie PHP-Klassen, Dateien, Funktionen, Einstellungen und Tabellen in Exponential benennen - Ihr eigenes Präfix, exp für Code, den Sie zum Projekt beitragen, sevenx für 7x, warum Kernel-Bezeichner eZ nie umbenannt…
- Autoloads und Klassen-Maps Wie Exponential PHP-Klassen findet - die generierten Klassen-Maps für den Kernel, die Erweiterungen, Kernel-Overrides und Tests, jede Option von bin/php/ezpgenerateautoloads.php, .autoloadignore, der Autoloader von…
- Einstellungen mit eZINI lesen Die eZINI-API für PHP-Entwickler - instance(), variable(), hasVariable(), variableArray(), group() und hasGroup(), die Reihenfolge der Einstellungsschichten, Umgebungsvarianten, Arrays und leere Zurücksetzungen…
- SQL mit eZDB, sicher SQL in Exponential mit eZDB schreiben - instance(), query() und arrayQuery() mit limit und offset, escapeString() für Strings und (int)-Casts für Zahlen, generateSQLINStatement(), Transaktionen mit begin(), commit() und…
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