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?