Looking on Drupal.org API, I noticed that hook_init()
is not documented for Drupal 8. Looking at the change records, I found Bootstrap hooks no longer exist, which points to Get rid of all ‘bootstrap’ hooks, where the bootstrap hooks are said to be hook_boot()
and hook_exit()
; nothing is said about hook_init()
.
I searched for hook_init in Drupal 8 source, and I found the following code. The first one is a reference to hook_init()
made in a comment; the other two seem a hook_init()
implementation, but they both get a parameter I am not expecting.
function overlay_enable() { if (strpos(current_path(), 'admin/modules') === 0) { // Flag for a redirect to <front>#overlay=admin/modules on hook_init(). $_SESSION['overlay_enable_redirect'] = 1; } }
/** * Implements hook_init(). */ function phptemplate_init($template) { $file = dirname($template->filename) . '/' . $template->name . '.theme'; if (file_exists($file)) { include_once DRUPAL_ROOT . '/' . $file; } }
/** * Implements hook_init(). */ function twig_init($template) { $file = dirname($template->filename) . '/' . $template->name . '.theme'; if (file_exists($file)) { include_once DRUPAL_ROOT . '/' . $file; } }
I also looked for any function invoking hook_init()
but I didn’t find any.
How do I convert Drupal 7 code implementing hook_init()
to code running on Drupal 8/9?
Sponsored by SupremePR