06/04/2021, 14:39

Bài 19: Tìm hiểu Magic methods trong PHP - Học lập trình PHP nâng cao

Magic methos trong php là những phương thức rất đặc biệc trong PHP vì nhiệm vụ của nó là bắt một sự kiện (event) nào đó khi chúng ta thao tác tới đối tượng. Ví dụ hàm khởi tạo và hàm hủy (__construct() và __destruct()) cũng là một trong những phương thức thuộc bộ magic ...

Magic methos trong php là những phương thức rất đặc biệc trong PHP vì nhiệm vụ của nó là bắt một sự kiện (event) nào đó khi chúng ta thao tác tới đối tượng. Ví dụ hàm khởi tạo và hàm hủy (__construct() và __destruct()) cũng là một trong những phương thức thuộc bộ magic methods.

1. Giới thiệu Magic methods trong PHP

Thông thường mỗi magic method sẽ được kích hoạt (trigger) ở một sự kiện nào đó mà ta tác động vào đối tượng. Ví dụ hàm __get()__set() sẽ được gọi khi ta tiến hành gán hay lấy giá trị của các thuộc tính trong đối tượng. Và vì nó có tính đặc biệt nên bạn dễ dàng nhận biết nó qua hai dấu gạch dưới (__), nghĩa là tất cả các phương thức Magic methods đều có tên bắt đầu bằng hai dấu gạch dưới. Sau đây là danh sách các magic methods:

  • __construct(), hàm khởi tạo, được gọi khi khởi tạo mới đối tượng
  • __destruct(), hàm hủy, được gọi khi đối tượng bị hủy
  • __get(), hàm getter, được gọi khi lấy giá trị của thuộc tính
  • __set(), hàm setter, được gọi khi gán giá trị cho thuộc tính
  • __call(), hàm call, được gọi khi ta gọi đến một phương thức không tồn tại trong đối tượng
  • __callStatic(), hàm call static, được gọi khi ta gọi đến một phương thức tĩnh không tồn tại trong đối tượng
  • __isset()
  • __unset()
  • __sleep()
  • __wakeup()
  • __toString()
  • __invoke()
  • __set_state()
  • __clone()
  • __debugInfo()

Để chi tiết hơn bạn có thể vào link này để tham khảo thêm.

2. Danh sách các tuts về magic method trong php

Và đây là các bài mà trong serie này mình đã trình bày về các hàm trên, bạ có thể tham khảo qua.

  • __construct() và __destruct()
  • __get() và __set()
  • __call() và __callStatic()
  • đang cập nhật ...

3. Lời kết

Bài này mình chủ yếu tạo ra để gom link lại cho các bạn dễ theo dõi hơn và khỏi mất công tìm kiếm từng bài liên quan đến magic methods. Chúc các bạn học tốt và luôn ủng hộ Zaidap.com.net.

Trịnh Tiến Mạnh

27 chủ đề

6824 bài viết

Cùng chủ đề
0