Examen Acquia Certified Developer - D8 aus Drupal-Zertifizierungsprogramm

Letzte Woche habe ich das Examen Acquia Certified Developer - D8 aus dem Drupal 8 Zertifizierungsprogramm von Acquia abgelegt.

Ich habe recht ausführlich über meine erste Prüfung in 2015 aus dem Acquia Zertifizierungsprogramm zum Acquia Certified Site Builder - D7 berichtet. Hier sind die meisten Punkte weiterhin gültig, vor allen Dingen was die Rahmenbedingungen betrifft. Daher werde ich auf diese Punkte nicht mehr im Detail eingehen, sondern mich hier auf die Spezifika des Acquia Certified Developer - D8 Examens konzentrieren.

Acquia Certified Developer - D8

Drupal 8 - Liste zulässiger Werte (allowed values) in einem Feld programmatisch ergänzen

Mit folgendem Code ist es in Drupal möglich die Liste der zulässigen Werte für ein Feld zu ändern:

$field = \Drupal::entityTypeManager()
  ->getStorage('field_storage_config')
  ->load('entity.field_name');
$allowed_values = $field->getSetting('allowed_values');
$field->setSetting('allowed_values', $allowed_values);
$field->save();

Entscheidend hier der Inhalt von  ->load('entity.field_name');

Drupal 8 Service und IDE Autocompletion

Wenn man sich in Drupal einen Service auf die übliche Art und Weise holt, z. B. so:

// Returns a Drupal\Core\Datetime\DateFormatter object.
$date = \Drupal::service('date.formatter');

Dann hat man keine Autocompletion-Funktionalität in der IDE (hier phpstorm), wie man das sonst bei anders instanzierten Klassen nutzen kann.

Um auch hier Autocompletion nutzen zu können, kann man den Variablen-Typ per Kommentar (für die IDE) definieren, z. B. so:

Seiten