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