In Drupal 7, every core module has a *.api.php
file, where * is the name of the module. For example
modules/node/node.api.php
modules/path/path.api.php
What are these files for? They contain functions that start with hook_
, and the name of a hook that (I think) the module invokes. For example
modules/system/system.api
has
function hook_entity_view($entity, $type, $view_mode, $langcode) {
$entity->content['my_additional_field'] = array(
'#markup' => $additional_field,
'#weight' => 10,
'#theme' => 'mymodule_my_additional_field',
);
}
There's an entity_view
hook that's invoked by the system which you may implement in your own modules, but (it doesn't appear) that hook_entity_view
is ever called.
What are these function for. Are they ever called by the system? If so, when? If not, why are they there?