Teil 4: Eine alte Erweiterung auf Exponential 6 aktualisieren
Dies ist der vierte Teil von Erweiterungsentwicklung: das Buch. Er richtet sich an alle, die eine Erweiterung haben, die für ein älteres Release und ein älteres PHP geschrieben wurde: eine, die Sie auf GitHub gefunden haben, eine, die Ihr Team vor zehn Jahren geschrieben hat, oder eine, die Sie übernommen haben. Exponential 6 behält das Erweiterungssystem bei, für das die alten Erweiterungen geschrieben wurden, daher brauchen die meisten nur kleine Änderungen. Dieser Teil zeigt, welche, und zwar in der Reihenfolge, in der Sie ihnen begegnen. Jedes Beispiel einer Änderung ist ein echter Commit aus einer Erweiterung, die dieses Projekt auf den aktuellen Stand gebracht hat (das Repository und der kurze Commit-Hash stehen daneben, sodass Sie die ganze Änderung auf GitHub nachlesen können).
Wie dieser Teil aufgebaut ist
| Gruppe | Kapitel | Was Sie bekommen |
|---|---|---|
| Vorbereitung | Warum die meisten Änderungen klein sind, Die Upgrade-Checkliste, Bestandsaufnahme einer alten Erweiterung | was Sie erwartet, die ganze Arbeit auf einer Seite und wie Sie sehen, was Sie haben |
| PHP | PHP-8-Fehler, die alten Code stoppen, Veraltetes in PHP 8.1 bis 8.5, Entfernte PHP-Funktionen, Konstruktoren alten Stils und statische Aufrufe, Nullable-Parameter, Dynamische Eigenschaften, Datenbankcode | jede Art von PHP-Änderung, wie Sie sie finden und wie Sie sie beheben |
| Metadaten | ezinfo.php und extension.xml, composer.json | die Dateien, die dem System und Composer sagen, wer Sie sind |
| Der Browser | Inline-Skripte, Event-Handler-Attribute, javascript:-Links und eval, Inline-CSS, Von YUI zu expui, jQuery 4 | Content Security Policy und die JavaScript-Bibliotheken von Exponential 6 |
| Die Administration | admin4-Styling, Kontextmenüs | damit Ihre Seiten aussehen und funktionieren wie der Rest der Administration |
| Abschluss | Namen und Marken, Tests und CI | Namen, Nennung der Urheber und dafür sorgen, dass alles funktionsfähig bleibt |
| Fallstudien | expchangeclass, der Layout-Editor auf jQuery 4, Zwei-Faktor-Authentifizierung, kleine Korrekturen in vielen Erweiterungen | ganze Upgrades, von Anfang bis Ende erzählt |
Die Kurzfassung
Wenn Sie nur eine Seite dieses Teils lesen, lesen Sie Die Upgrade-Checkliste. Wenn Sie sofort anfangen wollen:
- Kopieren Sie die Erweiterung nach
extension/einer Entwicklungsinstallation (nie zuerst auf eine Live-Website). - Führen Sie
php -lfür jede PHP-Datei mit dem ältesten PHP aus, das Sie unterstützen wollen (8.0 ist das älteste, das Exponential 6 unterstützt). - Aktivieren Sie sie, öffnen Sie ihre Seiten mit eingeschalteter Debug-Ausgabe und notieren Sie jeden Fehler, jede Warnung und jede „Deprecated“-Zeile, die eine ihrer Dateien nennt.
- Beheben Sie diese, eine Art nach der anderen, mit den Kapiteln dieses Teils.
- Öffnen Sie auf ihren Seiten die Browser-Konsole und beheben Sie, was die Content Security Policy blockiert.
- Geben Sie
ezinfo.php,extension.xmlundcomposer.jsondie aktuelle Version, Lizenz und Website. - Fügen Sie einen Test hinzu, der dafür sorgt, dass es so bleibt.
Hinweis Sie dürfen eine Erweiterung nur so aktualisieren, veröffentlichen und weitergeben, wie es ihre Lizenz erlaubt. Lesen Sie Lizenzen lesen, bevor Sie etwas wiederverwenden, bevor Sie eine Erweiterung ändern, die jemand anderes geschrieben hat, und behalten Sie dessen Copyright-Hinweise bei.
Was Sie vor dem Start brauchen
| Sie brauchen | Warum | Wo es erklärt ist |
|---|---|---|
| Eine Entwicklungsinstallation von Exponential 6 | Sie werden absichtlich Dinge kaputt machen | Werkzeuge, die Sie brauchen |
| Git | um jede Ihrer Änderungen zu sehen und rückgängig zu machen | Mit Git entwickeln |
| Die Debug-Ausgabe | um Warnungen und veraltete Aufrufe zu sehen | Debug-Ausgabe und Logs für Entwickler |
| Einen Browser mit Entwicklerwerkzeugen | um zu sehen, was die Content Security Policy blockiert | Content Security Policy für Erweiterungen |
| Teil 3 dieses Buches, mindestens den Aufbau einer Erweiterung | Sie müssen wissen, wo was liegt | Teil 3 |
Verwandte Seiten
- Zurück: Teil 3: Der Erweiterungsentwickler
- Weiter: Warum die meisten Änderungen klein sind
- PHP-8-Unterstützung und PHP-8.0-Unterstützung
- Verhaltensänderungen für Erweiterungen
- Erweiterungsentwicklung: das Buch
- Freie Dokumentation: Diese Seite darf unter der GNU FDL 1.3 frei kopiert, übersetzt und verbessert werden.
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.