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:

/* @var \Drupal\Core\Datetime\DateFormatter $date */
$date = \Drupal::service('date.formatter');

Dann hat man die übliche Autocomplete-Funktionalität in phpstorm für das Objekt.

Oder innerhalb einer eigenen Klasse definiert man die Variable als Member der Klasse:

/**
* @var \Drupal\Core\Datetime\DateFormatter
*/
protected $date;

und nutzt bzw. setzt die Variable dann via

$this->date ...

und hat Zugriff auf Autocompletion-Informationen

Neuen Kommentar schreiben

Filtered HTML

  • Internet- und E-Mail-Adressen werden automatisch umgewandelt.
  • Zulässige HTML-Tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • HTML - Zeilenumbrüche und Absätze werden automatisch erzeugt.
  • To post pieces of code, surround them with <code>...</code> tags. For PHP code, you can use <?php ... ?>, which will also colour it based on syntax.

Plain text

  • Keine HTML-Tags erlaubt.
  • Internet- und E-Mail-Adressen werden automatisch umgewandelt.
  • HTML - Zeilenumbrüche und Absätze werden automatisch erzeugt.