Nguyen Tien Si

Cơ chế Hook của Drupal

Hook là gì?

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.

Ví dụ:

Cách làm việc của chương trình soạn thảo văn bản Unikey, và chương trình từ điển Lingoes. Cách làm việc của chúng là đón lấy các sự kiện về gỏ bàn phím, và các sự kiện từ con chuột để xử lý các thao tác riêng.

Xét về phạm vi hoạt động thì có hai loại Hook:

Những thay đổi ở Drupal 7

Database

  • Viết lại DAL (Database Abstraction Layor) sử dụng PHP 5's PDO abstraction layer.
  • Viết câu truy vấn cho Drupal dựa trên MySQL 5.0.15 và PostgreSQL 8.3 trở lên.
  • Xây dựng câu truy vấn cho các mệnh đề INSERT, UPDATE, DELETE, MERGE, và SELECT (xem ở http://api.drupal.org/api/group/database/7).
  • Hỗ trợ Replication (master/slave), transactions, multi-insert queries, delayed inserts.
  • Hỗ trợ thêm SQLite.
  • Storage engine mặc định là InnoDB.
  • Chuẩn hóa cách đặt tên cho bảng của cơ sở dữ liệu http://drupal.org/node/335086

Security

Sức mạnh của hook_form_alter() trong Drupal

Ví dụ với form đăng nhập của module user

Giả sử hệ thống Drupal có module mặt định là user, module này làm nhiệm vụ quản lý việc đăng nhập, đăng kí, phục hồi mật khẩu cho user.

Mặt định form đăng nhập của user như sau:

  • Username
  • Password

Yêu cầu:

Thay đổi form đăng nhập này bằng cách thay đổi các trường nhập liệu khác (elements) như sau:

  • Username or e-mail
  • Password

Mà không thay đổi code của module user (đảm bảo cho việc nâng cấp lên các phiên bản mới của nhân Drupal).

Syndicate content