Cách tạo một hook

Một phần của tài liệu Luận văn: PHÁT TRIỂN ỨNG DỤNG DỊCH VỤ HƯỚNG VỊ TRÍ TRÊN NỀN DRUPAL pdf (Trang 31 - 33)

Việc định nghĩa một hook mới rất đơn giản, thậm chí chỉ cần một dòng mã. Nhưng để thuận tiện hơn cho những người phát triển sử dụng sau này, hook nên được định nghĩa một cách chi tiết.

Có một số cách để làm cho hook trở nên dễ sử dụng và triển khai. Cách thứ nhất là thêm các thông tin chi tiết về hook vào trong khối tài liệu của đoạn mã. Cách thứ hai là tạo ra một hàm hook trong mã nguồn, hàm này sẽ không được gọi đến mà chỉ đóng vai trò làm mẫu.

Ví dụ:

/**

* Use this hook to build content for a sitenews message. *

* This should return an array of items: * <code>array('item_name' => $item)</code>

* An item is an associative array with the following * fields set:

*

* - #weight: An integer from -10 to 10 * - #content: Text content

* - #title: A title for the text content *

* Weight and content are required. If #title * is set, then it will be added as a title. * * @return * A content array. */ function hook_sitenews() { $content['report'] = array( '#weight' => 0,

'#title' => t('Sample Title'), '#body' => t('Sample content') );

$content['another report'] = array( '#weight' => 0,

'#title' => t('Another Sample Title'), '#body' => t('More sample content')

);

return $content; }

Nhiệm vụ chính của hàm này là làm mẫu để hướng dẫn người dùng sử dụng

hook_sitenews(). Nó sẽ không được gọi trong mọi trường hợp, kể cả khi hệ thống nhận lời gọi hàm module_invoke() hay module_invoke_all() vì tên hàm không tuân theo quy tắc <modulename>_<hookname>.

Phần tài liệu trong khối chú thích mô tả một cách chi tiết chức năng của hàm hook cho người phát triển. Phần mã nguồn được thiết kế để thể hiện cách tạo một bản triển khai mà người phát triển nên tuân theo.

Một phần của tài liệu Luận văn: PHÁT TRIỂN ỨNG DỤNG DỊCH VỤ HƯỚNG VỊ TRÍ TRÊN NỀN DRUPAL pdf (Trang 31 - 33)