Điểm:0

Làm cách nào để tạo xuất cấu hình sao cho nó cài đặt hai mô-đun, một trong số đó có sự phụ thuộc vào mô-đun kia?

lá cờ cn

Tôi đã viết một mô-đun tùy chỉnh sử dụng jwt.transcoder dịch vụ từ jwt mô-đun. Đổi lại, nó cung cấp một dịch vụ khác:

$ mèo mymodule.services.yml
dịch vụ:
  mymodule.jwt:
    lớp: Drupal\mymodule\Dịch vụ\Jwt
    đối số: [ '@jwt.transcoder', '@event_dispatcher' ]

Mọi thứ diễn ra suôn sẻ trong quá trình phát triển. Tuy nhiên, cả mô-đun jwt lẫn mô-đun tùy chỉnh mới của tôi đều không được cài đặt trên trang web của chúng tôi trước khi tôi bắt đầu phát triển tính năng này.

Tôi đã thêm cả hai mô-đun bằng trình soạn thảo và thực hiện xuất cấu hình để kích hoạt chúng (và thiết lập các khóa mật mã, v.v.). Tuy nhiên, khi tôi tiến hành triển khai, tôi gặp lỗi khi nhập cấu hình, có vẻ như lỗi này xuất phát từ sự phụ thuộc vào jwt.transcoder dịch vụ chưa được cài đặt vào thời điểm này.

Trong CheckExceptionOnInvalidReferenceBehaviorPass.php dòng 86:
                                                                                      
  Dịch vụ "mymodule.jwt" phụ thuộc vào dịch vụ không tồn tại "jwt.transcoder". 

Với quy trình triển khai của chúng tôi, chúng tôi chỉ có thể triển khai một cơ sở mã tại một thời điểm-- nghĩa là, nếu tôi muốn thực hiện nhập cấu hình để nhận jwt được cài đặt trước và một lần nhập cấu hình khác với việc kích hoạt mô-đun tùy chỉnh của tôi, tôi sẽ phải triển khai lần thứ hai để tải cơ sở mã cấu hình thứ hai đó lên máy chủ.

Có cách nào để nhập cấu hình để cài đặt jwt trước, sau đó là mô-đun tùy chỉnh của tôi, trong một cơ sở mã duy nhất, để sự phụ thuộc này được giải quyết không?

sonfd avatar
lá cờ in
"jwt" có được đánh dấu là phần phụ thuộc của "mymodule" trong mymodule.info.yml không?
lá cờ cn
@sonfd chính là nó! Cảm ơn bạn. Vui lòng đặt câu trả lời đó và tôi sẽ chấp nhận nó :)
Điểm:3
lá cờ in

Bạn cần đánh dấu jwt mô-đun dưới dạng phần phụ thuộc của mymodule trong mymodule.info.yml, thông qua phụ thuộc Chìa khóa.

phụ thuộc: danh sách các mô-đun khác mà mô-đun của bạn phụ thuộc vào. Các phần phụ thuộc vào lõi Drupal hoặc các mô-đun đóng góp phải được đặt tên theo định dạng {project}:{module}, trong đó {project} là tên dự án xuất hiện trong URL Drupal.org (ví dụ: drupal.org/project/views) và { module} là tên máy của mô-đun. Các phần phụ thuộc cũng có thể bao gồm các hạn chế về phiên bản, ví dụ: webform:webform (>=8.x-5.x). Lưu ý rằng nếu mô-đun của bạn có phần phụ thuộc vào các mô-đun hoặc thư viện được đóng góp khác, thì những phần phụ thuộc này phải được khai báo trong tệp composer.json của mô-đun. Nếu bạn có các mô-đun tùy chỉnh cục bộ phụ thuộc vào nhau, bạn có thể sử dụng {module}:{module} (hoặc {module}:{submodule} cho các mô-đun phụ.)

Nguồn: Cho Drupal biết về mô-đun của bạn bằng tệp .info.yml

Ví dụ: bên trong mymodule.info.yml của bạn:

tên: Mô-đun của tôi
loại: mô-đun
...
phụ thuộc:
  - jwt:jwt

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