Я постоянно сталкиваюсь с этим термином в различных статьях. Однако я не понимаю, что это такое и как их можно использовать. Так что я просто хотел знать, какова концепция крючков; если бы кто-то мог связать меня с некоторыми примерами, особенно в контексте веб-разработки, было бы здорово.
web-development
python
Расмус
источник
источник
Ответы:
Мой ответ относится к WordPress, который написан на PHP, но это общая механика разработки, поэтому это не должно иметь большого значения, несмотря на то, что вы добавили «python» в заголовок своего вопроса.
Одним хорошим примером использования хуков, по совпадению в веб-разработке, являются хуки WordPress .
Они названы соответствующим образом в том смысле, что они позволяют «подключаться» к определенным точкам выполнения программы.
Так, например, wp_head - это «действие», которое генерируется при рендеринге темы WordPress, и находится в той части, где она отображает часть, которая находится внутри
<head>
тегов. Скажем, вы хотите написать плагин, для которого требуется дополнительная таблица стилей, скрипт или что-то, что обычно входит в эти теги. Вы можете «подключиться» к этому действию, определив функцию, которая будет вызываться при запуске этого действия. Что-то вроде:your_function()
может быть что-то так просто, как:Теперь, когда WordPress излучает это действие, делая что - то вроде
do_action('wp_head');
, он увидит , чтоyour_function()
был «завербован в» это действие, поэтому он будет вызывать эту функцию ( и передать ему какие - либо аргументы , если он принимает любое, как определено в документации для любого конкретного крючка ).Короче говоря: он позволяет вам добавлять дополнительные функциональные возможности в определенных точках выполнения программы, «подключаясь» к этим точкам, в большинстве случаев назначая функцию обратного вызова.
источник
В зависимости от предыстории человека, спрашивающего иногда, ответ на этот вопрос может быть настолько простым, как ловушки, как правило, другое слово для обработчика событий, которым Бленк дал отличное объяснение.
Есть также употребления этой фразы, когда вы вводите событие или код в процесс, в котором иначе нет таких событий, как, например, родинки .
источник