เมื่อดูที่ Drupal.org API ฉันสังเกตว่าhook_init ()ไม่ได้รับการบันทึกไว้สำหรับ Drupal 8. เมื่อดูที่บันทึกการเปลี่ยนแปลงฉันพบว่าBootstrap hooks ไม่มีอยู่อีกต่อไปซึ่งชี้ไปที่กำจัด 'bootstrap' hooksทั้งหมดที่ซึ่ง bootstrap hooks ได้รับการกล่าวถึง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()
อย่างไร