Computer >> Máy Tính >  >> Lập trình >> PHP

Phương pháp ma thuật PHP

Giới thiệu

Các phương thức ma thuật trong PHP là các phương thức đặc biệt nhằm thực hiện một số tác vụ nhất định. Các phương thức này được đặt tên với dấu gạch dưới kép (__) làm tiền tố. Tất cả các tên chức năng này đều được bảo lưu và không được sử dụng cho bất kỳ mục đích nào khác ngoài chức năng ma thuật liên quan. Phương thức phép thuật trong một lớp phải được khai báo public. Các phương thức này hoạt động như các bộ chặn được tự động gọi khi đáp ứng các điều kiện nhất định.

Các phương pháp kỳ diệu sau hiện có sẵn trong PHP

__sleep

public __sleep ( void ) : array

Phương thức serialize () trong lớp kiểm tra xem nó có tên hàm __sleep () hay không. Nếu vậy, chức năng đó được thực thi trước bất kỳ tuần tự hóa nào. Nó phải trả về một mảng với tên của tất cả các biến của đối tượng đó sẽ được tuần tự hóa.

__wakeup

public __wakeup ( void ) : void

phương thức unserialize () kiểm tra có tồn tại một hàm với tên ma thuật __wakeup () hay không. Nếu có, hàm này có thể tái tạo lại bất kỳ tài nguyên nào mà đối tượng có thể có.

__serialize

public __serialize ( void ) : array

Phương thức serialize () cũng kiểm tra xem lớp có phương thức __serialize () hay không. Nếu vậy, nó được thực thi trước bất kỳ tuần tự hóa nào. Nó phải tạo và trả về một mảng kết hợp gồm các cặp khóa / giá trị đại diện cho dạng tuần tự hóa của đối tượng.

__unserialize

public __unserialize ( array $data ) : void

unserialize () cũng kiểm tra xem có __unserialize () hay không và nó sẽ được chuyển vào mảng đã khôi phục được trả về từ __serialize (). Sau đó, nó có thể khôi phục các thuộc tính của đối tượng từ mảng đó nếu thích hợp

__toString

public __toString ( void ) : string

Phương thức __toString () mô tả biểu diễn chuỗi của đối tượng. Ví dụ, những gì echo $ obj; sẽ in. Phương thức này phải trả về một chuỗi

__invoke

__invoke ([ $... ] ) : mixed

Phương thức này được gọi khi một tập lệnh cố gắng gọi một đối tượng dưới dạng một hàm.

__set_state

static __set_state ( array $properties ) : object

Phương thức tĩnh này được gọi cho các lớp được xuất bởi var_export (). Nó nhận một tham số là một mảng chứa các thuộc tính được xuất trong mảng biểu mẫu ('property' => value, ...).

__debugInfo

__debugInfo ( void ) : array

Phương thức này tự động được gọi khi var_dump () được thực thi để kết xuất một đối tượng để lấy các thuộc tính cần được hiển thị. Nếu nó không được xác định, tất cả các thuộc tính công khai, được bảo vệ và riêng tư sẽ được hiển thị.

__set

public __set ( string $name , mixed $value ) : void

__set () được chạy khi ghi dữ liệu vào các thuộc tính không thể truy cập (được bảo vệ hoặc riêng tư) hoặc không tồn tại.

__get

public __get ( string $name ) : mixed

__get () được sử dụng để đọc dữ liệu từ các thuộc tính không thể truy cập (được bảo vệ hoặc riêng tư) hoặc không tồn tại.

__isset

public __isset ( string $name ) : bool

__isset () được kích hoạt bằng cách gọi Isset () hoặc blank () trên các thuộc tính không thể truy cập (được bảo vệ hoặc riêng tư) hoặc không tồn tại.

__unset

public __unset ( string $name ) : void

__unset () được gọi khi unset () được sử dụng trên các thuộc tính không thể truy cập (được bảo vệ hoặc riêng tư) hoặc không tồn tại.