Điện thoại/ Zalo
0389934723
Bài 10: Magic methods 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.
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é.