Hook là một kỹ thuật mà ở đó cho phép chặn, bắt, theo dõi, xử lý các sự kiện (event) từ ứng dụng tới ứng dụng, ứng dụng tới hệ điều hành và hệ điều hành tới ứng dụng hay nói cách khác là có thể chặn, bắt, theo dõi, xử lý các sự kiện trước khi nó tới nơi tiếp nhận.
Xét về phạm vi hoạt động thì có hai loại Hook:
* Hook toàn cục (có phạm vi ảnh hưởng tới toàn hệ thống).
* Hook cục bộ (chỉ có tác dụng trên ứng dụng được cài Hook).
Cơ chế Hook của Drupal:
Trong Drupal các Hook được định nghĩa trong nhân của Drupal (có thể phát triển thêm các Hook mới), chúng được xem như là các sự kiện (event) và được gọi chung là các hàm callbacks. Các module dùng các Hook để tương tác với nhân Drupal mà không cần phải chỉnh sửa trực tiếp trong nhân.
Hook trong Drupal có dạng như sau: hook_user() -> mymodule_user() trong đó mymodule là tên module còn user là tên hook.
Ví dụ:
Khi user đăng nhập vào hệ thống Drupal, Drupal phát sinh ra hook_user(), có nghĩa là tất cả các module có dùng tới hàm hook_user() sẽ được gọi.
Các loại Hook trong Drupal:
Trong Drupal có nhiều loại Hook, mỗi Hook thực hiện nhiệm vụ khác nhau, các bạn có thể xem chi tiết về hook tại http://api.drupal.org/api/group/hooks/6.
Theo: Seowebchuyennghiep