Różnica między .inc a .module?

23

Próbuję dowiedzieć się, jaka jest główna różnica między mymodule.modulei mymodule.admin.inc.

Czy ktoś może to wyjaśnić?

saadlulu
źródło

Odpowiedzi:

20

Bez wchodzenia w tajniki Drupal rozumie plik .module jako moduł w systemie. Notacja .inc zawsze była używana w PHP dla plików dołączanych. Podczas opracowywania modułów możesz chcieć podzielić funkcjonalność na różne pliki .inc.

Moduły używane w określonych przypadkach używają konwencji podobnych do .admin.inc. Plik ten zazwyczaj zawiera cały kod niezbędny do uruchomienia interfejsu administracyjnego, a na przykład plik node.pages.inc zawiera kod wykonywany dla innych wywołań zwrotnych menu.

Alex Gill
źródło
16

Uzupełnienie odpowiedzi udzielonej przez Alexa Gilla

  1. Pliki .module są ładowane na każdej stronie ładowania, podczas gdy pliki .inc są ładowane tylko na żądanie.
  2. Zgodnie z konwencją pliki .module powinny zawierać tylko te funkcje, które są implementacją hooków. Przestrzeganie tego standardu poprawia również wydajność.
  3. Pliki .inc można dołączyć, podając ścieżkę hook_menu()lub jawnie, używając modułu module_load_include („inc”, „node”, „node.admin”) .
  4. Jeśli którykolwiek z plików .inc zawiera obiekty klasy, należy o tym wspomnieć w pliku .info modułu.
Gokul NK
źródło
8

Krótko mówiąc, mymodule.module to plik php, który Drupal automatycznie ładuje się po włączeniu tego modułu. W razie potrzeby może zawierać inne pliki. Zwykle plik mymodule.admin.inc jest dołączany do menu ustawień administratora. Jeśli przeglądasz mymodule.module, możesz zobaczyć, gdzie. Czasami, gdy moduł staje się dość złożony, jest on dzielony na mniejsze pliki, a następnie są one również uwzględniane.

Jimajamma
źródło
2
Istnieją inne pliki, które Drupal automatycznie ładuje, i nie są to pliki z rozszerzeniem .moduł. W rzeczywistości Drupal automatycznie ładuje również pliki .inc; dlatego nie można tego użyć do rozróżnienia plików .module i .inc.
kiamlaluno
0

Różnica między plikiem modułu a plikiem inc

  • Plik .module może być ładowany przez drupal dla każdego ładowania strony. funkcja w pliku modułu może być używana w innym pliku modułu bez dołączenia tego modułu (* ale należy włączyć i dodać zależność).
  • Plik .inc można załadować ręcznie. Musi zawierać określone funkcje strony.

Na przykład load_node_load, hook_form_alter musi znajdować się w pliku .module.

Ramesh Babu TB
źródło
nie rozróżnia dwóch plików, ponieważ oba są ładowane automatycznie po włączeniu modułu. jak dla .inc hook_node_load można również wywołać z pliku
.inc
Plik .inc mógł zostać zawarty w tym powiązanym pliku modułu, a dla oddzielenia funkcji można wykonać .inc dla zrozumienia przez użytkownika.
Ramesh Babu TB