PHP-Entwickler: hier beginnen #
Dieser Abschnitt der Hilfe richtet sich an PHP-Entwickler, die PHP-Code an oder für Exponential schreiben: Kernel-Korrekturen,
Erweiterungen, Module und Views, Datentypen, persistente Objekte, Fetch-Funktionen, Template-Operatoren, Workflow-Ereignistypen,
Cronjob-Teile, Befehle, JSON- und REST-Endpunkte sowie die zugehörigen Tests. Er erklärt die Konventionen der Codebasis, die
Regeln, die das Projekt bei jeder Änderung prüft, und wie sich Code unter jeder Laufzeitumgebung verhält, mit echten
Klassennamen, Dateien und Befehlen des Repositorys.
Jede Aussage auf diesen Seiten wurde am Code, an den Einstellungen oder an der vorhandenen Dokumentation der Linie 6.0.15
geprüft. Wo sich diese Seiten mit den Seiten für Anwendungsentwickler und dem Buch für Erweiterungsentwickler überschneiden,
verweisen sie dorthin, statt sie zu wiederholen.
Inhalt #
- Exponential in einem Absatz, für PHP-Entwickler
- Ihre erste Stunde
- Sieben Regeln für jede PHP-Änderung
- Übersicht der Seiten für PHP-Entwickler
- Seiten anderer Zielgruppen, die Sie nutzen werden
- Diese Seiten wiederfinden
Exponential in einem Absatz, für PHP-Entwickler #
Exponential ist ein freies und quelloffenes PHP-Content-Management-System und Anwendungs-Framework, lizenziert unter der
GNU GPL, Version 2 oder später. Seine Codebasis wird seit 1999 entwickelt, zuerst unter dem Namen eZ Publish, einem Produkt,
das sein Hersteller nach fast 18 Jahren eingestellt hat; 7x hat es am Leben erhalten, und es wird von 7x gemeinsam mit der
Exponential Foundation geführt (Wer ist 7x?, Wer ist die Exponential Foundation?).
Für einen PHP-Entwickler ist es eine große, ausgereifte Codebasis mit eigenen Konventionen: PHP 8.0 bis 8.5 (PHP 7.4 ohne Support nutzbar), generierte
Klassen-Maps statt PSR-4, geschichtete INI-Einstellungen, die über eZINI gelesen werden, eZPersistentObject für Tabellen,
eine kompilierte Template-Sprache, sechs unterstützte Datenbanken (standardmäßig SQLite 3, PostgreSQL, MongoDB, MariaDB,
Oracle, MySQL) und Velocity, ein Anwendungsserver mit persistenten Workern, als Teil des Produkts
(Exponential für PHP-Entwickler).
Ihre erste Stunde #
- Orientieren Sie sich (10 Minuten): Exponential für PHP-Entwickler und
Ein Rundgang durch den Quellbaum.
- Verfolgen Sie eine Anfrage (10 Minuten): Wie eine Anfrage in PHP abläuft.
- Richten Sie einen Checkout ein (20 Minuten): Einen PHP-Entwicklungs-Checkout einrichten, mit
make devtools und make hooks. - Lernen Sie die Regeln (10 Minuten): Code schreiben, der unter PHP 8.0 läuft und
Der Coding-Standard.
- Bauen Sie etwas (10 Minuten für den Anfang): Schreiben Sie Ihre erste Modul-View.
Den gesamten Abschnitt in Reihenfolge finden Sie unter Der Lesepfad für PHP-Entwickler.
Sieben Regeln für jede PHP-Änderung #
- Läuft unter PHP 8.0 bis 8.5 (PHP 7.4 ohne Support nutzbar). Keine Syntax und keine ungeschützte Funktion, die neuer als 8.0 ist
(Code schreiben, der unter PHP 8.0 läuft).
- Folgt dem Hausstil.
array(), Leerzeichen innerhalb von Klammern, keine Typdeklarationen; make phpcs und
make phpstan melden nichts Neues (Der Coding-Standard). - Trägt ein Präfix im Namen.
exp für Projektcode, Ihr eigenes für Ihren Code; Kernel-Bezeichner eZ* ändern sich nie
(Klassenbenennung und das Präfix exp). - Vertraut keiner Eingabe und maskiert jede Ausgabe. Casts, Allow-Listen,
escapeString(), |wash, das Formular-Token,
Berechtigungsprüfungen an jedem Einstiegspunkt (Sicherheit in PHP-Code). - Behält keinen Zustand zwischen Anfragen. Korrekt unter den persistenten Workern von Velocity
(Fallen durch statischen Zustand).
- Funktioniert auf jeder unterstützten Datenbank. Portables SQL oder persistente Objekte
(Code für jede unterstützte Datenbank).
- Kommt mit einem Test. Wo möglich ohne Datenbank (PHPUnit ohne Datenbank).
Übersicht der Seiten für PHP-Entwickler #
Orientierung #
PHP-Versionen und Code-Regeln #
Bausteine #
Daten und APIs #
Sicherheit #
Laufzeitumgebungen #
Tests, Qualität und Mitwirken #
Referenz #
Seiten anderer Zielgruppen, die Sie nutzen werden #
| Seite | Warum PHP-Entwickler sie lesen |
|---|
| Anwendungsentwickler: hier beginnen | Vollständige Anwendungen bauen: Content-API, Warteschlangen, REST, Deployment, Skalierung |
| Das Buch für Erweiterungsentwickler | Das vollständige Buch für Entwickler von Erweiterungen, von den ersten Schritten bis zum Release, mit einer API-Referenz in Teil 8 |
| Software-Ingenieure: hier beginnen | Architektur, Evaluierung und Engineering-Praxis rund um Exponential |
| Web-Framework-Entwickler: hier beginnen | Exponential im Vergleich zu und in Verbindung mit anderen Web-Frameworks |
| Die Template-Sprache, Template-Operatoren | Die Templates, die Ihr PHP-Code mit Daten versorgt |
| Datenbankunterstützung | Die sechs Datenbanken, ihre Versionen, Einstellungen und Testabdeckung |
| Mit Git entwickeln | Mit dem Repository arbeiten |
| Freie Dokumentation | Was Sie mit diesen Seiten tun dürfen |
Diese Seiten wiederfinden #
- Filtern Sie in der Hilfe nach der Zielgruppe PHP-Entwickler, oder öffnen Sie Alle Seiten und den Ordner
php-developers. - Jede Seite hat Auf GitHub bearbeiten. Wenn eine Aussage hier nicht mehr zum Code passt, sagen Sie es uns dort oder im
Issue-Tracker der Community.
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.