Механизм, связывающий ядро и модули.

Главные вкладки

Аватар пользователя Антоха82 Антоха82 29 июня 2018 в 10:45

Здравствуйте.

Объясните мне, пожалуйста, каким образом друпал узнает о том что в какой-то момент нужно выполнить скрипт из какого-либо модуля?

Поясню. Вот нажал юзер на какую-нибудь ссылку на сайте. Запрос отправляется на сервер, который собирает страницу исходя из данных, которые пришли от браузера. Мне не понятен сам этот механизм сборки страницы. Есть ядро друпала, а есть устанавливаемые модули. Известно, что ядро можно поменять, не трогая модули, и сайт будет работать. Т.е. ядро с модулями особо не связано, когда мы устанавливаем новый модуль, он в коде ядра ничего не меняет. Так как же друпал узнает, что в данный момент, при данных действиях пользователя на сайте, нужно подключить именно этот модуль, а не какой-то другой? Или он все модули подряд в каждой итерации парсит? Не думаю.

Комментарии

Аватар пользователя mbaev mbaev 30 июня 2018 в 21:50

Каждый модуль объявляет список путей и соответствующие обработчики для них. За это отвечает hook_menu. Это если коротко.
Если более детально, то модульность системы заключается ещё и в возможности одного модуля влиять на поведение другого. Так, что там помимо конкретных обработчиков выполняется ещё много чего другого.