Magic Method Trong OOP

  • Magic methods là các phương thức đặc biệt để tùy biến các các sự kiện trong php. Hiểu đơn giản là nó cung cấp thêm cách để giải quyết một vấn đề. Magic methods được dùng để xử lý các đối tượng trong lập trình hướng đối tượng.
  • Tại sao ta cần sử dụng Magic method:
    – Nó giúp cho chúng ta tùy biến được các hành vi, thêm cách lựa chọn để xử lý một đối tượng trong php.
    – Nó giúp cho chúng ta có thể thao tác với một đối tượng theo cách mình muốn.
  • Một số Magic Method trong PHP:
    __construct(): Hàm được gọi khi ta khởi tạo một đối tượng. Trong php thì magic method __construct() rất là phổ biến mà chúng ta hay thường gặp nhất. Hàm __construct() sẽ tự đông được gọi khi ta khởi tạo 1 đối tượng, lưu ý hàm contruct() không cho phép chúng ta overload.
    –  __destruct(): được gọi khi một đối tượng bị hủy. Mặc định khi kết thúc chương trình hoặc khi ta khai báo mới đối tượng đó sẽ bị hủy bỏ và gọi đến method __destruct().
    __isset() : được gọi khi chúng ta thực hiện kiểm tra một thuộc tính không được phép truy cập của một đối tượng, hay kiểm tra một thuộc tính không tồn tại trong đối tượng đó. Cụ thể là hàm isset() và hàm empty(). -Chú ý: phương thức __isset() không sử dụng được với thuộc tính tĩnh.
    __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. Tương tự như hàm isset. Khi ta Unset 1 thuộc tính không tồn tại thì method __unset() sẽ được gọi.
    __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. Như vậy thì có thể thấy __get() và __call() cũng gần giống nhau. Có điều __get() gọi khi không có thuộc tính còn __call() khi phương thức không có.
    – __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 được gọi khi chúng ta in echo đối tượng. __toString() sẽ bắt buộc phải trả về 1 dãy String.

Leave a reply:

Your email address will not be published.

Site Footer

Sliding Sidebar

Facebook