回答:
実際にはフックを作成しません。あなたのようなヘルパー関数を使用しmodule_invoke_all()
、module_invoke()
またはdrupal_alter()
予想される名前のパターンに一致するすべての関数を呼び出すために。通常、呼び出された関数はで見つかり module_implements()
ます。
フックが機能する必要がない場合でも、ベストプラクティスは、ドキュメンテーションコメントMODULE.api.php
を使用して空のスタブ hook_NAME
関数を作成することでドキュメント化することです。
また、hook_trigger_infoを使用してフックを作成し、新しいフックを作成することもできます。また、モジュールに実装する必要があります。例として、ノードのアーカイブを作成し、古いノードをその中に配置するとします。また、アーカイブ操作が完了したときにフックをトリガーすることもできます。このようなものになるだろう
function hook_trigger_info() {
return array(
'node' => array(
'archive_nodes' => array(
'label' => t('Archive old nodes'),
)
)
);
}
フックを定義した後、モジュールはmodule_invoke()またはmodule_invoke_all()を使用してフックとアクションを実装します。
trigger
モジュールを有効にして、ノードタブの下にこの新しいフックを表示できます。