Drupal Modulentwicklung für Ihr Projekt!

Sie suchen Drupal Modulentwicklung für Ihre Projekte? DAT PASST bietet Drupal Modulentwicklung für Deutschland, Österreich und Schweiz. Gerne beraten wir Sie unverbindlich zum Thema Drupal Modulentwicklung für Ihr Projekt!

Jetzt Drupal Modulentwicklung anfragen

Beratungsgespräch anfordern

Wir rufen Sie gerne zum Thema Drupal Modulentwicklung zurück.

Warum sind wir gute Drupal Modulentwickler?

Wir kennen die Verwaltung von Software mit Composer

Eine der Konsequenzen der Modernisierung von PHP war die Einführung des Composer-Paketmanagers. Projekte werden nicht mehr ohne sie erstellt, da die externen Bibliotheken und Abhängigkeiten Ihres Projekts in der Regel sehr gut installiert, aktualisiert und verwaltet werden können. Ganz zu schweigen von seinem sehr hilfreichen Autoloader.

Drupal 8 verwendet Composer, um externe PHP-Bibliotheken und Abhängigkeiten (wie Symfony-Komponenten, Guzzle usw.) zu verwalten, und es wird über die Fähigkeit gesprochen, auch Contrib-Module zu verwalten. Vergewissern Sie sich also, dass Sie wissen, wie Composer funktioniert, und beginnen Sie sogar damit, es in Nicht-Drupal-Projekten zu verwenden.

Wir sind langjährige Symfony-Entwickler

Einer der Hauptstreitpunkte (damals) im Entwicklungszyklus von Drupal 8 war die Einführung von Symfony-Komponenten. Einige Leute waren mit dieser großen Veränderung vom Drupal-Weg nicht wirklich einverstanden, aber andere begrüßten sie von ganzem Herzen. Ich gehöre zu der letztgenannten Gruppe, da ich Symfony liebe und es bereits vor der Entwicklung von Drupal 8 verwendet habe.

Drupal 7-Entwickler werden häufig darauf hingewiesen, dass es nicht erforderlich ist, Symfony zu kennen, um in Drupal 8 zu entwickeln. Obwohl es technisch gesehen stimmt, lernen Sie dennoch viel davon durch die Drupal-Erfahrung. Trotzdem empfehle ich dringend, vorher Symfony zu lernen. Es ist ein großartiges modulares Framework und die Kenntnis seiner Konzepte wird Ihnen wirklich dabei helfen zu verstehen, wie Drupal 8 aufgebaut ist (für die Komponenten, die es verwendet, meine ich). Sobald Sie eine kleine Website in Symfony erstellen können, werden Sie viel mehr Spaß daran haben, in Drupal 8 zu entwickeln, da Konzepte häufig ähnlich sind. Ganz zu schweigen davon, dass Sie mit Symfony Apps selbst erstellen können.

Wir kennen Routen und Controller

Just like with Drupal 7, when starting to learn Drupal 8 you need to create the obligatory hello world module (creating a page with a parameter in the URL( usually world) that displays the text Hello + parameter). This example introduces you to many important things:

  • Module folder structure

  • Routing (no more hook_menu) through routing.yml files that map to Controller methods

  • Controller classes which have various methods that can be mapped to routes

  • Access arguments for these routes

  • Rendering markup to the page inside the Controller methods

  • etc

So I really recommend giving this a go.

Verstehen des Plugin-Konzepts

Ein weiteres wichtiges Konzept, mit dem Sie sich vertraut machen müssen, sind Plugins. Zugegeben, das ist nicht so einfach zu verstehen, aber es ist super wichtig, weil es überall ist. Keine Sorge, es ist keine Raketenwissenschaft.

Viele alte Drupal 7-Implementierungen verschiedener Konzepte wurden in Plugins umgewandelt: Info-Hooks, Blöcke, Feldformatierer, Views-Handler usw. Das Verständnis von Plugins ist daher sehr wichtig, um die Standard-Drupal-Funktionalität erweitern zu können

Dependency injection and the service container

Der letzte Schritt, den ich hier erwähnen werde, ist die Abhängigkeitsinjektion. Drupal 8 verwendet den Symfony-Abhängigkeitsinjektionscontainer, um die Service-Instantiierung und -Injektion in Klassen zu verwalten, die diese benötigen. Dies entkoppelt die Funktionalität und erhöht die Testbarkeit.

Viele Menschen haben jedoch Angst vor diesem Konzept, vor allem, weil sie es nicht verstehen. Ich habe mich auch nicht besonders wohl gefühlt, bevor ich es verstanden habe. Aber Sie sollten auf jeden Fall lernen, was es bedeutet, warum wir es verwenden und wie wir es verwenden. Weil es ein sehr einfaches Konzept ist, das auch im prozeduralen Code ständig verwendet wird.

Auf Drupal 8 finden Sie bereits viele Tutorials, die Dienste statisch über die \ Drupal-Klasse laden. Es ist viel schneller zu schreiben, so dass Leute (ich eingeschlossen) es vorziehen, wenn sie über D8 schreiben. Normalerweise mache ich auch eine Notiz, dass in diesen Fällen die Verwendung von Abhängigkeitsinjektion bevorzugt wird.

Wenn Sie den Dienstcontainer und die Abhängigkeitsinjektion nicht verstehen, werden Sie sich leicht angewöhnen, nur statisch Dienste anzufordern und Ihren Code so zu koppeln, als ob er prozedural wäre. Sobald Sie sich über diesen Punkt klar sind, wird dies hoffentlich nicht mehr passieren und der Anblick eines \ Drupal :: get ('some_service') wird Sie zweimal überlegen lassen.