Hướng dẫn dùng type.method trong PHP

Trong bài này mình sẽ giới thiệu với mọi người về magic methods trong PHP là gì và các magic methods hay dùng trong PHP.

Nội dung chính

  • 1, Magic methods là gì.
  • 2, Ưu nhược điểm của magic methods.
  • Ưu điểm
  • Nhược điểm
  • 3, Các magic method trong PHP.
  • 3, Lời kết.
  • 1. Giới thiệu Magic methods trong PHP
  • 2. Danh sách các tuts về magic method trong php
  • 3. Lời kết

1, Magic methods là gì.

-Magic methods là các phương thức đặc biệt được tạo ra nhằm giải quyết các vấn đề về sự kiện trong chương trình (cụ thể là với class), và đối với PHP cũng thế.

-Từ đầu series đến giờ thực ra các bạn cũng đã được giới thiệu qua về magic methods rồi, phương thức khởi tạo và phương thức hủy trong bài số 6 chính là magic methods.

2, Ưu nhược điểm của magic methods.

-Bất kì một cái gì đó đều có ưu và nhược điểm cả (không có gì là hoàn hảo).

Ưu điểm

-Từ khái niệm trên thì các bạn chắc cũng có thể nhận ra các ưu điểm của nó rồi chứ? nó gồm có các ưu điểm như sau:

  • Giúp cho chúng ta tùy biến được các hành vi.
  • Nó giúp cho chúng ta có thể khởi tạo một đối tượng theo cách mình muốn.

Nhược điểm

  • Một magic methods có tốc độ chậm hơn các phương thức bình thường.

3, Các magic method trong PHP.

-Trong PHP có hỗ trợ chúng ta 15 magic method với từng chức năng khác nhau:

+ __construct(): gọi khi khởi tạo đối tượng.

+ __destruct(): goij khi hủy đối tượng.

+ __set(): gọi khi ta truyền dữ liệu cho một thuộc tính không được phép truy cập.

+ __get(): khi đọc dữ liệu từ một thuộc tính không được phép truy cập.

+ __isset(): được gọi khi gọi hàm isset() hoặc empty() trên một thuộc tính không được phép truy cập.

+ __unset(): được gọi khi hàm unset() được sử dụng trong một thuộc tính không được phép truy cập.

+ __call():được gọi khi ta gọi một phương thức không được phép truy cập trong phạm vi của một đối tượng.

+ __callstatic(): được kích hoạt khi ta gọi một phương thức không được phép truy cập trong phạm vi của một phương thức tĩnh.

+ __toString(): phương thức này giúp class chỉ định xem sẽ in ra cái gì khi nó được dùng.

+ __invoke():phương thức này được gọi khi một lệnh cố gắng gọi một đối tượng như một hàm.

+ __sleep(): được gọi khi serialize() một đối tượng.

+ __wakeup: được gọi khi unserialize() đối tượng.

+ __set_state():

+ __clone(): được sử dụng khi chúng ta clone một object.

+ __debugInfo(): được gọi khi chúng ta sử dụng hàm vardump().

- Hiện tại thì trên blog của mình đã có đầy đủ các bài hướng dẫn về từng magic methods, các bạn có thể tham khảo thêm ở đây.

3, Lời kết.

-Qua bài này mình đã nêu ra được khai niệm của magic methods và danh sách các magic methods trong PHP rồi, nhưng hiện tại thì mình chưa có bài viết nào hướng dẫn cụ thể về cách sử dụng của từng hàm( sẽ viết sau) nên các bạn chịu khó đọc tài liệu tiếng anh nhé.

Đăng ký nhận tin.

Chúng tôi chỉ gửi tối đa 2 lần trên 1 tháng. Tuyên bố không spam mail!

Bài Viết Mới

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.

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

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.

Bài viết này được đăng tại [free tuts .net]

  • __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ộ freetuts.net.