Sự khác biệt giữa .inc và .module?


23

Tôi đang cố gắng tìm ra sự khác biệt chính giữa mymodule.modulemymodule.admin.inc.

Bất cứ ai có thể giải thích nó?

Câu trả lời:


20

Không cần đi sâu vào, Drupal hiểu tệp .module là một mô-đun trong hệ thống. Ký hiệu .inc luôn được sử dụng trong PHP cho các tệp 'bao gồm'. Khi phát triển các mô-đun, bạn có thể muốn phân chia chức năng thành các tệp .inc khác nhau.

Các mô-đun đang được sử dụng trong các trường hợp cụ thể sử dụng các quy ước tương tự như .admin.inc. Tệp đó thường bao gồm tất cả các mã cần thiết để chạy giao diện quản trị và ví dụ tệp node.pages.inc chứa mã được thực thi cho các cuộc gọi lại menu khác.


16

Thêm vào câu trả lời được đưa ra bởi Alex Gill

  1. Các tệp .module được tải trên mỗi trang tải, trong khi các tệp .inc chỉ được tải khi chúng được yêu cầu.
  2. Theo quy ước, các tệp .module chỉ nên chứa các hàm thực hiện các hook. Theo tiêu chuẩn này cũng cải thiện hiệu suất.
  3. Các tệp .inc có thể được bao gồm bằng cách đề cập đến đường dẫn trong hook_menu()hoặc bằng cách làm rõ ràng bằng cách sử dụng module_load_include ('inc', 'node', 'node.admin') .
  4. Nếu bất kỳ tệp .inc nào chứa các đối tượng lớp, thì nó phải được đề cập trong tệp .info của mô-đun.

8

Nói tóm lại, mymodule.module là tệp php tải drupal tự động khi mô-đun đó được bật. Sau đó, nó có thể bao gồm các tập tin khác khi cần thiết. Thông thường, mymodule.admin.inc được bao gồm để tạo menu cài đặt quản trị viên. Nếu bạn grep qua mymodule.module, bạn có thể thấy nơi. Đôi khi khi một mô-đun trở nên khá phức tạp, nó được chia thành các tệp nhỏ hơn và sau đó chúng cũng được bao gồm.


2
Có các tệp khác Drupal tự động tải và đó không phải là các tệp có đuôi .module. Trên thực tế, Drupal tự động tải các tệp .inc; do đó, điều đó không thể được sử dụng để phân biệt các tệp .module và .inc.
kiamlaluno

0

Sự khác biệt giữa tập tin mô-đun và tập tin inc

  • Tập tin .module có thể được tải bằng drupal cho mỗi lần tải trang. chức năng trong tệp mô-đun có thể được sử dụng trong tệp mô-đun khác mà không bao gồm mô-đun đó (* nhưng cần phải bật và phụ thuộc cần phải được thêm vào).
  • Tập tin .inc có thể được tải bằng tay. Nó cần phải chứa các chức năng trang cụ thể.

Ví dụ hook_node_load, hook_form_alter cần phải ở trong tệp .module.


không phân biệt hai tệp, vì cả hai đều được tải tự động khi bật mô-đun. như đối với .inc hook_node_load cũng có thể được gọi từ tệp .inc
saadlulu

Tệp .inc có thể đã bao gồm trong tệp mô-đun liên quan đó và để phân tách chức năng có thể được thực hiện bởi .inc để người dùng hiểu.
Ramesh Babu TB
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.