Grundlagen für die Entwicklung mit Drupal 8

Für Entwickler, die mit Drupal 7 vertraut sind, ist das Upgrade auf Drupal 8 eine große Umstellung. Die Architektur und der API sind vollständig neu aufgebaut. Es ist wichtig, sich mit den grundlegenden Konzepten auseinander zu setzen, bevor man mit der Modulentwicklung beginnt.

Hier ist ein Überblick der wichtigsten Grundlagen für die Entwicklung mit Drupal 8.

1. Objektorientierte Programmierung (OOP) mit PHP

2. Symfony 2, das PHP Framework auf welchem Drupal 8 aufbaut

3. Der grundlegenden Konzepte und der Drupal 8 API

Eine nicht zu unterschätzende Quelle ist das Durchforsten des Drupal 8 Codes. Zuerst sollte man sich einen Überblick über die Strukturen des Drupal 8 Core's beschaffen. In den Drupal Modulen sieht man viele praktische funktionsfähige Beispiele.

Drupal 8 Download

Die Symfony Library befindet sich unter:

  • vender/symfony

Die grundlegenden Drupal 8 Komponenten:

  • core/lib/Drupal/Components

Auf den Core Komponenten bauen die Subsysteme auf:

  • core/lib/Drupal/Core

Auf den Subsystemen wiederum bauen die Drupal 8 Core Module auf:

  • core/modules

 

Überblick über die grundlegenden Themen

Extending and altering Drupal

3.1 Drupal 8 Installation und Verwalten der Ressourcen mit Composer

3.1 Namensräume/Namespaces

3.2 Service Container und Dependency Injection

3.3 Das Plugin System

3.4 Content Entities

3.5 Simple Configuration und Configuration Entites

3.6 Event Dispatcher und Event Subscriber

Conding Standards und best Practice

4. Erlernen der Modulentwicklung

Zuerst sollte man sich mit der Struktur von Modulen vertraut machen.

4.1 Grundlegende Modulstruktur

4.2 Im "Example Project" findet man gut dokumentierte Beispiele

Example Project Download

Als Übung kann man für jedes der grundlegenden Konzepte ein eigenes funktionsfähiges Beispielmodul schreiben.

  • Plugin
  • PluginType
  • Simple Configuration Example
  • ContentEntity
  • ConfigEntity
  • Event
  • Event Subscriber
  • Form API Example
  • Controller mit Entity Query API und Entity API Methoden

4.3 Inspektion von Core Modulen und guten contrib Modulen

In komplexeren contrib Modulen findet man Beispiele wie die Konzepte wie Services, Plugins, Plugin-Types, Content Entities oder Config Entities kombiniert werden können.