Nhìn vào API Drupal.org, tôi nhận thấy hook_init () không được ghi lại cho Drupal 8. Nhìn vào các bản ghi thay đổi, tôi thấy các móc Bootstrap không còn tồn tại , điều này chỉ ra Loại bỏ tất cả các hook 'bootstrap' , trong đó hookststst được cho là hook_boot()
và hook_exit()
; không có gì được nói về hook_init()
.
Tôi đã tìm kiếm hook_init trong nguồn Drupal 8 và tôi đã tìm thấy đoạn mã sau. Cái đầu tiên là một tài liệu tham khảo để hook_init()
đưa ra trong một nhận xét; hai cái kia có vẻ như là một hook_init()
triển khai, nhưng cả hai đều nhận được một tham số mà tôi không mong đợi.
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;
}
}
Tôi cũng đã tìm kiếm bất kỳ chức năng nào hook_init()
nhưng tôi không tìm thấy.
Được hook_init()
vẫn được sử dụng trong Drupal 8? Nếu nó không còn được sử dụng nữa, làm cách nào để chuyển đổi triển khai mã Drupal 7 hook_init()
?