hook_init
developer/hooks/core.php, строка 538
- Версии
- 5 – 6
hook_init()
Выполняет задачи по инициализации.
Этот хук выполняется в самом начале запроса страницы. Он обычно используется для установки глобальных параметров, которые будут нужны позже в запросе.
Используйте этот хук только тогда, когда ваш код должен выполняться даже для закешированных страниц. Если вам нужно выполнить свой код для незакешированных страниц, используйте hook_menu(!$may_cache)
. Если вы реализовали hook_init()
и после этого видите на сайте ошибки типа 'Call to undefined function'
, это больше всего похоже на то, что Друпал не успел загрузить необходимые модули, функции из которых вызываются в вашем хуке. Вызов происходит пока Друпал всё ещё находится в режиме bootstrap
. Самое простое решение — вызывать ваш код из hook_menu(!$may_cache)
Примечание: Если у вас никак не выходит заставить работать этот хук, проверьте выставлено ли для этого модуля значение bootstrap = 1 в таблице system.
Возвращаемое значение
Нет.
Связанные темы
Код
<?php
function hook_init() {
global $recent_activity;
if ((variable_get('statistics_enable_auto_throttle', 0)) &&
(!rand(0, variable_get('statistics_probability_limiter', 9)))) {
$throttle = throttle_status();
// if we're at throttle level 5, we don't do anything
if ($throttle < 5) {
$multiplier = variable_get('statistics_throttle_multiplier', 60);
// count all hits in past sixty seconds
$result = db_query('SELECT COUNT(timestamp) AS hits FROM
{accesslog} WHERE timestamp >= %d', (time() - 60));
$recent_activity = db_fetch_array($result);
throttle_update($recent_activity['hits']);
}
}
}
?>
Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии