Глядя на API Drupal.org, я заметил, что hook_init () не документирован для Drupal 8. Просматривая записи изменений, я обнаружил, что перехватчиков Bootstrap больше не существует , что указывает на избавление от всех перехватчиков «bootstrap» , где перехватывает bootstrap Говорят, что hook_boot()
и hook_exit()
; ничего не сказано о hook_init()
.
Я искал hook_init в источнике Drupal 8, и я нашел следующий код. Первый - это ссылка на hook_init()
комментарий; другие два кажутся hook_init()
реализацией, но они оба получают параметр, который я не ожидаю.
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;
}
}
Я также искал любую функцию, вызывающую, hook_init()
но я не нашел ни одной.
Все hook_init()
еще используется в Drupal 8? Если он больше не используется, как мне преобразовать реализацию кода в Drupal 7 hook_init()
?