0

雇用主のためにカスタム モジュールを開発しています。my_module.moduleの塗りつぶしが大きくなりすぎて扱いにくくなったため、関連するコードを個別の.incファイルに分けることにしました。

次に、これらのファイルを次のコードに含めました。

function my_module_init(){
    module_load_include('inc', 'my_module', 'questionnaire_nodetypes');
    module_load_include('inc', 'my_module', 'questionnaire_config');
    module_load_include('inc', 'my_module', 'email_friends');
}

私のコードはしばらくの間動作し続けましたが、質問リストに確実に存在する関数に対して突然、未定義の関数エラーが発生しました。他の同様のエラーは、他の含まれている .inc ファイル内の他の確認済みおよび既存の機能に対してすぐに続きました。

update.phpスクリプトを実行するように提案されましたが、問題は解決しませんでした。実際、未定義の関数エラーがさらに発生しました。

4

1 に答える 1

2

これらの行をフックに入れる必要はありません。モジュール ファイルの先頭に直接ダンプするだけです (私は何年もそうしてきましたが、問題が発生したことはありません)。

hook_init()はキャッシュされたページに対して呼び出されないため、システムの別の (キャッシュされていない) 部分がそれらの関数の存在に依存している場合、ファイルが含まれていない可能性があります。

于 2012-09-05T17:01:27.760 に答える