Điểm:0

Tại sao không tìm thấy Endroid\QrCode\QrCode?

lá cờ cn
ArK

Tôi đã tạo một mô-đun tùy chỉnh và cài đặt thiết bị đầu cuối/qrcode thư viện trong mô-đun của mình bằng Trình soạn thảo. Khi tôi cố gắng sử dụng thư viện đó, tôi gặp lỗi sau.

Lỗi: Không tìm thấy lớp 'Endroid\QrCode\QrCode' trong Drupal\shopexp\Plugin\Block\ShopExp->build() (dòng 25 của mô-đun\custom\shopexp\src\Plugin\Block\ShopExp.php).

Mã sử ​​dụng thư viện là mã sau đây.

không gian tên Drupal\shopexp\Plugin\Block;
sử dụng Drupal\Core\Block\BlockBase;
sử dụng Endroid\QrCode\QrCode;

lớp ShopExp mở rộng BlockBase {    
  chức năng công cộng createpr() {
      $qr = QrCode::create("https://site.com");
  }  
  xây dựng chức năng công cộng () {
    $qr = QrCode mới();
    trở lại [
      '#markup' => 'tin nhắn kiểm tra',
    ];
  }
}

Các nhà soạn nhạc.json tệp được mô-đun sử dụng là tệp sau.

{
    "yêu cầu": {
        "endroid/qr-code": "^2.5"
    }
}

Cấu trúc thư mục như sau.

ảnh chụp màn hình

lá cờ fr
Tại sao không sử dụng mô-đun hiện có cho việc đó thay vì viết mã của riêng bạn? Và nếu nó không thực hiện chính xác những gì bạn muốn thì có thể trợ giúp với mô-đun đó. https://www.drupal.org/project/endroid_qr_code
ArK avatar
lá cờ cn
ArK
@anonymous Trên thực tế, tôi đã cố gắng giảm số lượng mô-đun và cố gắng đưa các chức năng khác vào một mô-đun
lá cờ fr
Đó là logic sai lầm. Có gì sai với nhiều mô-đun? Số dòng mã vẫn như cũ, bất kể bạn đặt chúng ở đâu. Bất kể, IMO bạn có cách tiếp cận sai. Cộng tác và làm cho mã hiện có tốt hơn cho mọi người, đừng chỉ giải quyết vấn đề của riêng bạn.
ArK avatar
lá cờ cn
ArK
@anonymous tôi hiểu quan điểm của bạn. Nhưng vấn đề là tôi đã sai khi sử dụng thư viện php để sử dụng bên trong một khối sau khi nó được đưa vào thông qua trình soạn thảo
Điểm:1
lá cờ fr

Bạn phải nhà soạn nhạc yêu cầu endroid/qrcode từ thư mục gốc Drupal, không phải từ thư mục mô-đun tùy chỉnh của bạn. Gói này cần được cài đặt trong thư mục nhà cung cấp chính cùng với tất cả các gói khác được sử dụng bởi Drupal, nếu không trình tải lớp không thể tìm thấy gói đó.

ArK avatar
lá cờ cn
ArK
nếu bao gồm trong trình soạn thảo gốc json có nghĩa là điều gì sẽ xảy ra nếu tôi sử dụng cùng một mô-đun cho hệ thống khác. Việc cài đặt mô-đun này trong một phiên bản drupal khác có bao gồm các phụ thuộc không?
lá cờ cn
Không - nếu bạn muốn Trình soạn thảo tự động cài đặt các phụ thuộc cho mô-đun của mình, thì bản thân mô-đun của bạn cần được Trình soạn thảo cài đặt. Trừ khi bạn sử dụng thứ gì đó như plugin hợp nhất của nhà soạn nhạc, đây có thể là một tùy chọn, nhưng điều đó cũng sẽ yêu cầu các thay đổi đối với composer.json của mỗi trang web

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