Điểm:2

addViolation() không được dùng nữa: làm cách nào để thay thế nó?

lá cờ sa

Làm cách nào để điều chỉnh đoạn mã sau để tránh sự phản đối của thêm Vi phạm () dựa theo https://www.drupal.org/node/3238432 ?

lớp MyValidator mở rộng ConstraintValidator {

  chức năng công khai xác thực($items, Constraint $constraint) {
    if (!$this->isValid($items)) {
      $this->context->addViolation($constraint->message); // Làm thế nào để điều chỉnh dòng này?
    }
  }
}
4uk4 avatar
lá cờ cn
Tôi nghĩ rằng thông báo phản đối là một báo động sai. Trái ngược với các phương thức được đề cập trong bản ghi thay đổi, addViolation() không được đánh dấu là nội bộ trong Symfony 6 và nếu Drupal loại bỏ phương thức này, họ sẽ thay thế nó bằng mã Symfony.
Baud avatar
lá cờ sa
Cảm ơn. Điều này có nghĩa là mã không dùng nữa đã được thêm sai vào phương thức addViolation()... Một số loại lỗi Core mà tôi muốn nói?
4uk4 avatar
lá cờ cn
Nó không được thêm sai, rõ ràng là họ muốn loại bỏ việc triển khai phương thức này. Tuy nhiên, điều này không thay đổi cách sử dụng phương thức, nó được sử dụng theo cách tương tự trong Symfony.
Điểm:2
lá cờ us

Mã hiển thị trong câu hỏi không cần phải thay đổi: Khi Bắt đầu sử dụng lớp Symfony\Component\Validator\ValidatorBuilder thay vì các lớp đã sao chép là cố định, $this->bối cảnh sẽ không còn chứa một phiên bản của \Drupal\Core\TypedData\Validation\ExecutionContext nhưng \Symfony\Component\Validator\Context\ExecutionContext.
Như tài liệu nói, các lớp mở rộng Hạn chếValidator chỉ nên cho rằng $this->bối cảnh là một đối tượng thực hiện Thi hànhBối cảnhGiao diện, không phải lớp nào thực sự được sử dụng. Với giả định đó, những thay đổi được đưa ra bởi sự cố đó sẽ không ảnh hưởng đến các lớp trình xác thực contrain (ngoại trừ thực tế là thông báo ngừng sử dụng sẽ không được kích hoạt nữa).

Đă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.