Umstellung auf klassenbasierte Hooks in Drupal 11

Ab Drupal 11 können Sie Hooks als klassenbasierte Attribute definieren, die sich an modernen PHP-Praktiken orientieren, um die Wartung zu erleichtern.

Obwohl die traditionellen prozeduralen Hooks, die als Funktionen in den .module Dateien definiert sind, immer noch abwärtskompatibel sind, verwenden Sie die class-based Syntax für Drupal 11. Das vorgeschlagene Verzeichnis für die Definition von Hook-Klassen ist src/Hook/. Weitere Informationen finden Sie unter Drupal 11.1.0 release blog.

Wichtig:
  • Hooks sind jetzt mit dem PHP-Attribut #[Hook] versehen, um ihre Rolle im System zu kennzeichnen.
  • Sie können nicht alle Hooks in klassenbasierte Definitionen umwandeln. Einige ältere oder Low-Level-Hooks müssen als prozedurale Funktionen erhalten bleiben.
  • Bevor Sie Hooks konvertieren, sollten Sie die offizielle API-Dokumentation konsultieren, um die Kompatibilität sicherzustellen.

In den folgenden Abschnitten finden Sie Beispiele für die häufigsten Aktualisierungen, die Sie möglicherweise vornehmen müssen. Sie müssen jedoch die Verwerfungslisten für Drupal und PHP überprüfen, um sicherzustellen, dass Sie alle Szenarien in Ihren Developer Portal-Sites abdecken.

Bemerkenswerte Änderungen, die das Update mit sich bringt

Einige der wichtigsten Änderungen in Drupal 11 sind:

  • Das Drupal 11 Upgrade kommt mit einer größeren Symfony Upgrade Version. Drupal 10 verwendete Symfony 6, und Drupal 11 verwendet nun Symfony 7. Wenn Sie Symfony verwenden, stellen Sie sicher, dass sie nicht veraltet sind. Für weitere Informationen siehe https://symfony.com/doc/current/setup/upgrade_major.html.

  • Die Standardversion von Drush ist jetzt Drush 13. Wenn Sie Drush-Befehle in Ihre benutzerdefinierten Module schreiben, müssen Sie sicherstellen, dass die Befehle mit Drush 13 kompatibel sind.

Hinweis:
  • Die benutzerdefinierten Module und Themen müssen mit Drupal 11 kompatibel sein. Weitere Informationen zum Auffinden der benutzerdefinierten Module und Designs in Ihrem Entwicklerportal finden Sie unter So finden Sie Ihre benutzerdefinierten Module und Designs in Ihrem Entwicklerportal.
  • Es liegt in Ihrer Verantwortung, die Verwerfungslisten für Drupal und PHP zu überprüfen, um sicherzustellen, dass Sie alle Szenarien in Ihren Developer Portal Sites abdecken.
Weitere Informationen darüber, wie Sie Ihre benutzerdefinierten Module mit Drupal 11 kompatibel machen können, finden Sie unter den folgenden Links: