.incと.moduleの違いは?


23

私は、主な違いは、間にあるかを把握しようとしていますmymodule.modulemymodule.admin.inc

誰でも説明できますか?

回答:


20

出入りせずに、Drupalは.moduleファイルをシステム内のモジュールとして理解します。.inc表記は、「インクルード」ファイルのPHPで常に使用されています。モジュールを開発するとき、機能を異なる.incファイルに分割することができます。

特定の場合に使用されるモジュールは、.admin.incに類似した規則を使用します。このファイルには通常、管理インターフェイスを実行するために必要なすべてのコードが含まれており、たとえばファイルnode.pages.incには、他のメニューコールバック用に実行されるコードが含まれています。


16

Alex Gillの回答に追加

  1. .moduleファイルはすべてのロードページにロードされますが、.incファイルは要求されたときにのみロードされます。
  2. 慣例により、.moduleファイルには、フックの実装である関数のみを含める必要があります。この標準に従うと、パフォーマンスも向上します。
  3. .incファイルを含めるには、パスを記載するhook_menu()か、module_load_include( 'inc'、 'node'、 'node.admin')を使用して明示的に作成します
  4. .incファイルのいずれかにクラスオブジェクトが含まれている場合は、モジュールの.infoファイルで言及する必要があります。

8

要するに、mymodule.moduleは、そのモジュールが有効になったときにdrupalが自動的にロードするphpファイルです。その後、必要に応じて他のファイルを含めることができます。通常、mymodule.admin.incは、管理設定メニューを作成するために含まれています。mymodule.moduleでgrepを実行すると、どこにあるかがわかります。モジュールが非常に複雑になると、モジュールが小さなファイルに分割され、それらも同様に含まれることがあります。


2
Drupalが自動的にロードする他のファイルがあり、それらは拡張子.moduleのファイルではありません。実際、Drupalは.incファイルも自動的にロードします。したがって、これを使用して.moduleファイルと.incファイルを区別することはできません。
キアムルノ

0

モジュールファイルとincファイルの違い

  • .moduleファイルは、ページをロードするたびにdrupalによってロードできます。モジュールファイル内の関数は、そのモジュールを含めずに他のモジュールファイルで使用できます(*ただし、有効にする必要があり、依存関係を追加する必要があります)。
  • .incファイルは手動でロードできます。特定のページ機能を含める必要があります。

たとえば、hook_node_load、hook_form_alterは.moduleファイルにある必要があります。


両方がモジュールイネーブル時に自動的にロードされるため、2つのファイルは区別されません。.incのhook_node_load用としての.incファイルからも呼び出すことができます
saadlulu

.incファイルはその関連モジュールファイルに含まれている可能性があり、機能の分離はユーザーが理解できるように.incで行うことができます。
ラメシュバブTB
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.