В системе Drupal 7 (и Drupal 6?), Что «запускает» процесс вызова перехвата или где расположены вызовы перехвата «верхнего уровня»?
Как я сейчас понимаю систему модулей Drupalлюбой модуль способен создать ловушку для реализации другим модулем.Это означает, что большая часть исполнения Drupal - это модули, реализующие хуки для других модулей, которые, в свою очередь, предоставляют хуки для реализации другими модулями.
Что мне неясно, так это то, есть ли начальный хук верхнего уровня, который вызывается в начальной загрузке для запуска этого процесса, или если есть несколько немодульных вызовов, которые запускают процесс вызова хукаили что-то еще (извините, что это расплывчато и плохо, но, как я уже сказал, я не понимаю)
Я посмотрел в функции _drupal_bootstrap_full
, и в конце появилось многообещающее
module_invoke_all('init');
Однако мой поиск в папке modules/
обнаружил только одну функцию "init" ловушки, которая, казалось, не была отправной точкой
system/system.api.php
1737:function hook_init() {
function hook_init() {
drupal_add_css(drupal_get_path('module', 'book') . '/book.css');
}
Итак, это говоритМеня что-то вне модульных систем сбивает с толку.Это происходит в одном месте или в нескольких местах.И где эти места?
В настоящее время я не большой пользователь Drupal.Моей конечной целью всего этого является понимание системы модулей Drupal в изоляции , чтобы я мог затем исследовать и понять, как Drupal использует свои модули для сборки приложения, которое большинство людей считают Drupal.Любые / все объяснения приветствуются, но я пытаюсь понять вещи с архитектурной точки зрения.Я понимаю, что вам не нужны эти знания, чтобы использовать Drupal, но мой мозг сломан и не позволит мне двигаться вперед, пока я не узнаю, что делает базовый код PHP.