Điểm:1

Trình định dạng trường tùy chỉnh không thành công khi tạo()

lá cờ cn

PHPStorm, PHP 7.4 IDE làm nổi bật $container->get('date.formatter'), với

"Thông số dự kiến ​​của loại '\Drupal\Core\Datetime\DateFormatterInterface', 'đối tượng' được cung cấp"

Chức năng này là một bản sao chính xác của TimestampFormatter lõi (cũng hiển thị lỗi)

/**
 * {@inheritdoc}
 */
tạo hàm tĩnh công khai (ContainerInterface $container, mảng $configuration, $plugin_id, $plugin_definition) {
  trả về tĩnh mới (
    $plugin_id,
    $plugin_definition,
    $configuration['field_definition'],
    $configuration['settings'],
    $configuration['nhãn'],
    $configuration['view_mode'],
    $configuration['third_party_settings'],
    $container->get('date.formatter'),
    $container->get('entity_type.manager')->getStorage('date_format')
  );
}

__construct đang tìm kiếm DateFormatterInterface (xem bên dưới) và không chắc nó hoạt động như thế nào trong lõi, nhưng "viewElements" của tôi không bao giờ kích hoạt kể từ khi lỗi này bắt đầu.

hàm công khai __construct($plugin_id, $plugin_definition, FieldDefinitionInterface $field_definition, mảng $settings, $label, $view_mode, mảng $third_party_settings, **DateFormatterInterface $date_formatter**, EntityStorageInterface $date_format_storage) {

Bộ chứa thích hợp-> được sử dụng để trả về một date.formatter thích hợp và không phải là một đối tượng khiến việc tạo không thành công mà không có bất kỳ lỗi nào được ghi lại mà tôi có thể thấy là gì?

Điểm:1
lá cờ cn

Mã của bạn vẫn ổn, nhưng bạn có thể xóa các cảnh báo bằng cách cài đặt Trình cắm Symfony PHPStorm.

Nó dạy IDE cách phân giải đúng lớp từ tên dịch vụ mà bạn cung cấp cho $container->get().

lá cờ cn
Cảm ơn @Clive vì tôi đã thấy bạn trả lời hàng nghìn câu hỏi trong nhiều năm. Thanh danh. Điều kỳ lạ là tôi đã đặt trường của mình thành định dạng dựa trên plugin này nhưng nó không được gọi nữa khi nút được xem. Nó đã hoạt động một thời gian trước đây nhưng không phải bây giờ. Tôi có các điểm dừng được đặt trong hàm tạo và viewElements nhưng chúng không bao giờ kích hoạt.
lá cờ cn
IDE đã điều chỉnh và cảnh báo đã biến mất. Tôi đoán tôi đã hiểu sai cách trình định dạng hoạt động cho một trường khi chỉnh sửa nút. Định dạng trường dateTime của tôi phải thay đổi dựa trên một điều kiện. Bộ định dạng không tương tác với tiện ích hiển thị ngày? Tôi có nên hỏi điều này như một câu hỏi riêng biệt?

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.