прошу помощи уважаемого сообщества - обясните термин "hook"

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

Аватар пользователя Ne_L Ne_L 21 января 2009 в 1:01

раньше у меня сложилось мнение что с помощью хуков делается переназначение стандартных функций друпал, но сейчас читаю http://setegnom.com/node/1151 и вижу там такое
«в версии 6.x для регистрации темы используется hook_theme(). PHPTemplate самостоятельно позаботится о регистрации темы, таким образом в большинстве случаев вам не нужно беспокоиться о ручной регистрации темы.», напрашивается вывод что сам друпал использует хуки.
Можно для друпаламера обьяснить подробно раз и навсегда - поиском искал - но нехватило информации.

простите за тупой вопрос...

Комментарии

Аватар пользователя direqtor direqtor 21 января 2009 в 6:41

В хуках нет ничего непонятного. Просто функции называемые по определенным правилам. А ядро друпала обычно только тем и занято, что ищет в коде модулей реализацию хуков и выполняет их.

Например, функция [ru-api=node_load]node_load()[/ru-api]. После всякой воды в коде идет соло - [ru-api=node_invoke_nodeapi]node_invoke_nodeapi($node, 'load')[/ru-api]

А там просто вызываются все функции модулей, которые оканчиваются на _nodeapi. Так и конструируется друпаловская нода. И остальные вещи работают подобным образом. Можете и свои хуки определять, если требуется.