Điểm:0

Ghi đè kiểm tra quyền truy cập nhưng cũng chuyển quyền kiểm soát trở lại bộ điều khiển chính trong các điều kiện nhất định?

lá cờ cn

Tôi sử dụng bộ điều khiển đóng góp có _custom_access chức năng mà tôi cần ghi đè.

Tôi thêm một RouteSubscriber và trỏ kiểm tra quyền truy cập vào bộ điều khiển của riêng tôi. Bây giờ tôi muốn một cái gì đó như:

nếu ($điều kiện) {
  trả về $new_access_decision;
}
trả về $ original_controller->accessCheck()

vì vậy tôi có thể tiếp tục dựa vào logic ban đầu cho hầu hết các trường hợp và chỉ ghi đè cho một nhóm nhỏ các trường hợp.

Mặc dù vậy, tôi không biết cách đưa bộ điều khiển ban đầu vào bộ điều khiển của mình và nếu tôi cố gắng thêm nó làm tham số cho dịch vụ RouteSubscriber, tôi sẽ nhận được

có sự phụ thuộc vào một dịch vụ không tồn tại [bộ điều khiển gốc]

mà tôi hiểu là bộ điều khiển không phải là dịch vụ.

Điểm:1
lá cờ cn

tiêm class_resolver như một dịch vụ thông thường, rồi gọi

$this->class_resolver->getInstanceFromDefinition('\Drupal\example\ExampleController');
4uk4 avatar
lá cờ cn
Thông thường, bạn không cần hai phiên bản nếu có một cách OOP mở rộng lớp và chỉ khởi tạo lớp mới có thể gọi phương thức cha nếu cần. Bạn chỉ cần hai phiên bản nếu chúng có các trạng thái khác nhau.
lá cờ cn
Vâng, tôi đoán một trường hợp cạnh hơi kỳ quặc. Tôi cho rằng tôi có thể giải quyết vấn đề bằng cách mở rộng bộ điều khiển chính, nhưng chúng khá khác nhau và đó là mã được kế thừa mà tôi không quá quan tâm đến việc viết lại hoàn toàn.

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