Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Что такое хук и как его использовать?
Форумы портала PHP.SU » » Вопросы новичков » Что такое хук и как его использовать?

Страниц (1): [1]
 

1. morph-x - 28 Ноября, 2011 - 23:00:46 - перейти к сообщению
Не знаю куда отнести эту тему, поэтому пишу здесь. Я так понял (прочитав пару статей) что хук, это что-то типа замены функции что ли. Но более ничего не понял. Вообщем, что такое хук вообще? И главное, как и где его применять? И как это использовать применительно к CMS? Говорят, что это удобно, но что именно удобно, я так и не понял. Короче, помогите кто чем может. Заранее огромное спасибо!
2. Bio man - 28 Ноября, 2011 - 23:10:48 - перейти к сообщению
хук заменяет собой определенную ф-цию. то есть позволяет изменить функционал ф-ции не меняя код самой функции. например, хуки используются в phpBB для написания дополнений... можно сказать, что хук это "перегрузка" функции
3. morph-x - 28 Ноября, 2011 - 23:12:47 - перейти к сообщению
А можно более конкретный пример использования (желательно, применительно к CMS) ?
4. Bio man - 28 Ноября, 2011 - 23:15:28 - перейти к сообщению
CMS? разве любая CMS имеет данную технологию? можете разобрать хуки с phpBB, поймете как они работают. и прочтите вот это http://bolzamo[dot]org[dot]ru/214/
5. morph-x - 28 Ноября, 2011 - 23:33:18 - перейти к сообщению
Вот, почитал эту статью. Уже все понятно, спасибо! Но мне кажется, это что-то схожее с событиями, или это не так? Поправьте, если я ошибаюсь.
6. Bio man - 28 Ноября, 2011 - 23:47:28 - перейти к сообщению
да, схожее. только события применяются в ОО подходе, а хуки можно использовать в процедурном подходе. не хочу вас запутывать, скажу, что про хуки и события я не знал до того как вы спросили (про хуки знал, что такие существуют но с чем их едят понятия не имел). лучше подождать мнение знающих людей. но в общих чертах так оно и есть...
7. Ch_chov - 29 Ноября, 2011 - 04:26:29 - перейти к сообщению
Хук это реакция на событие. Он позволяет выполнять нужные действия в своем модуле не модифицируя исходный код CMS.

В общих чертах хуки очень похожи на обработчики событий в javascript.
Например, вы в своем модуле можете определить функцию, которая будет вызываться каждый раз при регистрации нового пользователя на сайте, при добавлении нового материала или при запуске крона.
8. EuGen - 29 Ноября, 2011 - 08:14:15 - перейти к сообщению
register_shutdown_function, pcntl_signal - вот примеры функций, регистрирующих обработку определенных событий. Стало быть, это примеры реализации хуков.
9. caballero - 29 Ноября, 2011 - 10:08:40 - перейти к сообщению
Цитата:
Говорят, что это удобно, но что именно удобно,

Удобно для того кто пишет. Для того кто читает и пытается отладить или разобратся - тихий ужас. Фиг его знает где в каком месте системмы сраьботает или не срабоет или есть ли он вообще некий хук.
10. Ch_chov - 29 Ноября, 2011 - 12:20:39 - перейти к сообщению
Это от реализации зависит.

 

Powered by ExBB FM 1.0 RC1