Magic Method trong php
Magic Method trong php

1. Magic Method trong PHP là gì? Cách hoạt động của Magic method trong PHP.

Magic method trong PHP – định nghĩa.

Magic Method trong php
Magic Method trong php

 

Trong lập trình hướng đối tượng để làm cho việc sử dụng các đối tượng dễ dàng hơn, PHP cũng cung cấp một số Magic Method, hoặc các phương thức đặc biệt được gọi khi các hành động nhất định xảy ra trong các đối tượng. Điều này cho phép các lập trình viên  thực hiện một số nhiệm vụ hữu ích tương đối dễ dàng. Sau đây mình sẽ hướng dẫn các bạn các Magic method trong PHP căn bản nhất.

Sử dụng Constructors

Khi một đối tượng được khởi tạo, chúng ta thường mong muốn nó làm việc gì đó ngay khi được khai báo. Để xử lý điều này, PHP cung cấp phương thức Magic __construct (), được gọi tự động bất cứ khi nào một đối tượng mới
khởi tạo.

Dưới đây là code minh họa sử dụng phương thức Magic __construct (). Khi khởi tạo đối tượng MyClass thì hàm __construct () sẽ tự động chạy.

Sau khi thực hiện đoạn mã lệnh trên ta có kết quả như sau:

Đối tượng MyClass đã được khởi tạo!
Tôi là thuộc tính của class!
Điểm kết thúc file.

Sử dụng Destructors

Để gọi một hàm khi đối tượng Object bị hủy, phương thức Magic __destruct () sẽ được sử dụng. Điều này rất hữu ích cho việc dọn dẹp Class (ví dụ như đóng kết nối cơ sở dữ liệu).

Ví dụ dưới đây xuất ra một lời nhắn khi đối tượng Object bị hủy bằng cách định nghĩa hàm __destruct () trong MyClass:

Với phương thức Destructors. Chúng ta chạy ví dụ trên sẽ có kết quả:

Đối tượng MyClass đã được khởi tạo!
Tôi là thuộc tính của class!
Điểm kết thúc file.
Đối tượng MyClass đã bị hủy!

Để kích hoạt destructor một cách rõ ràng, bạn có thể hủy đối tượng Object ngay lập tức bằng cách sử dụng hàm unset():

Bây giờ kết quả sẽ thay đổi khi bạn reload lại trình duyệt:

Đối tượng MyClass đã được khởi tạo!
Tôi là thuộc tính của class!
Đối tượng MyClass đã bị hủy!
Điểm kết thúc file.

Chuyển đổi sang một Chuỗi

Để tránh lỗi nếu một tập lệnh cố gắng để xuất ra MyClass như một chuỗi, một phương thức Magic khác được sử dụng gọi là __toString ().

Nếu không có __toString (), khi bạn cố gắng để xuất ra các đối tượng Object như là một chuỗi kết quả là sẽ báo lỗi fatal error. Cố gắng sử dụng hàm echo để xuất ra các đối tượng mà không có một phương thức Magic sẽ xuất hiện lỗi như sau:

Kết quả sẽ tương tự là:

Đối tượng MyClass đã được khởi tạo!

Catchable fatal error: Object of class MyClass could not be converted to string in /Applications/XAMPP/xamppfiles/htdocs/testing/test.php on line 40

Để tránh lỗi này, chúng ta thêm hàm __toString ()

Trong trường hợp này, cố gắng chuyển đổi đối tượng Object sang một chuỗi thông qua một cuộc gọi đến hàm getProperty (). Và đây là kết quả:

Đối tượng MyClass đã được khởi tạo!
Xử dụng hàm toString: Tôi là thuộc tính của class!
Đối tượng MyClass đã bị hủy!
Điểm kết thúc file.

Magic method trong PHP – Mở Rộng

Ngoài các phương thức Magic method trong PHP được thảo luận trong phần này, còn một số phương thức Magic method trong PHP khác bạn có thể tham khảo thêm. Để có danh sách đầy đủ các phương thức Magic method trong PHP, xem trang  PHP manual page.

2. Lời kết

Như vậy là mình đã hướng dẫn các bạn cách hoạt động của Magic method trong PHP căn bản nhất. Hy vọng sau bài này các bạn có thể áp dụng Magic method trong PHP vào dự án của các bạn. Nếu có thắc mắc các bạn để lại comment nhé. Thân!

Nguồn: phpcanban.com

Tag: magic method trong php, tìm hiểu magic method trong php, demo magic method trong php

Magic method trong PHP – Các phương thức Magic trong PHP
5 (100%) 1 vote

1 BÌNH LUẬN

BÌNH LUẬN

Please enter your comment!
Please enter your name here