PHPStorm, PHP 7.4
IDE evidențiază $container->get('date.formatter'), cu
„Parametru așteptat de tip „\Drupal\Core\Datetime\DateFormatterInterface”, „obiect” furnizat”
Această funcție este o copie exactă a elementului de bază TimestampFormatter (care arată și eroarea)
/**
* {@inheritdoc}
*/
funcția publică statică create(ContainerInterface $container, matrice $configurație, $plugin_id, $plugin_definition) {
returnează static nou (
$plugin_id,
$plugin_definition,
$configuration['field_definition'],
$configuration['settings'],
$configuration['eticheta'],
$configuration['view_mode'],
$configuration['third_party_settings'],
$container->get('data.formatter'),
$container->get('entity_type.manager')->getStorage('date_format')
);
}
__construct-ul caută o DateFormatterInterface (vezi mai jos) și nu sunt sigur cum funcționează aceasta în nucleu, dar „viewElements”-ul meu nu se declanșează niciodată de când a început această eroare.
funcția publică __construct($plugin_id, $plugin_definition, FieldDefinitionInterface $field_definition, array $settings, $label, $view_mode, array $third_party_settings, **DateFormatterInterface $date_formatter**, EntityStorageInterface $date_format_storage) {
Care este containerul adecvat -> să utilizați pentru a returna un format de date adecvat și nu un obiect care face ca crearea să eșueze fără erori înregistrate pe care le pot vedea?