2011-08-23 150 views
3

我剛剛開始學習發現對Drupal 7的更改,並且我剛剛發現mymodule.info中現在需要的files[]陣列。從我發現的情況來看,需要將mymodule.module文件添加到列表中,但是還有什麼其他用途?.info中文件[]的用途是什麼?

從我讀過的東西我想我應該能夠將我的代碼分成幾個文件,例如我想使mymodule.blocks.inc包含我的塊的所有代碼,但它似乎是mymodule_block_info()函數永遠不會運行。

我做錯了什麼,還是這不是它應該如何使用?

回答

4

正如documentation說:

文件(可選)的Drupal現在支持動態加載代碼的註冊表。 爲了支持它,所有模塊現在必須在.info文件中聲明包含類或接口聲明的任何代碼文件。

僅當您在files[]中指定的文件包含類或接口時纔會使用。如果是這樣,文件將只在需要時自動加載。
不應使用files[]聲明其他文件。

1

在開始時,它是爲每個模塊創建一個文件註冊表,但不再使用它作爲Drupal自己做。

如果你想分開你的模塊在多個文件中,你應該將它們包含在.module文件的頂部。

+0

沒有必要將它們包含在模塊文件的頂部,因爲Drupal有一個鉤子報告哪些文件包含一些鉤子;參見[hook_hook_info()](http://api.drupal.org/api/drupal/modules--system--system.api.php/function/hook_hook_info/7)。 – kiamlaluno

1

我看到它的方式,指定爲files[]的文件意味着支持文件並在需要時調用。應該在.module文件或$module.$group.inc文件中指定實現的默認Drupal掛鉤,以便Drupal識別它們。請參閱hook_hook_info()

此外,請參閱文件下的說明文件http://drupal.org/node/542202