Giới thiệu
Phương pháp ma thuật trong PHP là các phương pháp đặc biệt nhằm thực hiện các nhiệm vụ nhất định. Các phương pháp này được đặt tên với Double Undercore [__] là tiền tố. Tất cả các tên chức năng này được bảo lưu và không thể được sử dụng cho bất kỳ mục đích nào ngoài chức năng ma thuật liên quan. Phương pháp ma thuật trong một lớp phải được tuyên bố công khai. Các phương pháp này đóng vai trò là người đánh chặn được gọi tự động khi đáp ứng một số điều kiện nhất định.
Các phương pháp kỳ diệu hiện có sẵn trong PHP
__sleep
public __sleep [ void ] : array
Phương thức serialize [] trong kiểm tra lớp nếu nó có tên hàm __s ngủ []. Nếu vậy, chức năng đó được thực thi trước khi có tuần tự hóa. Nó được cho là sẽ trả về một mảng với tên của tất cả các biến của đối tượng đó cần được tuần tự hóa.
__wakeup
public __wakeup [ void ] : void
Phương thức unserialize [] kiểm tra có chức năng với tên ma thuật __wakeUp []. Nếu có, chức năng này có thể xây dựng 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 [] không. Nếu vậy, nó được thực hiện trước khi có bất kỳ tuần tự hóa. Nó phải xây dựng và trả về một mảng kết hợp của các cặp khóa/giá trị đại diện cho dạng nối tiếp của đối tượng.
__unserialize
public __unserialize [ array $data ] : void
unserialize [] cũng kiểm tra xem __unSerialize [] có mặt không, và nó sẽ được thông qua mảng được 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 đó khi 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 là 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 được 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 ['thuộc tính' => giá trị, ...].
__debugInfo
__debugInfo [ void ] : array
Phương thức này được gọi tự động khi var_dump [] được thực thi để bán một đối tượng để có được 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 viết dữ liệu thành 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 __wakeup [ void ] : void0
__isset [] được kích hoạt bằng cách gọi isset [] hoặc trố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.
__unset
public __wakeup [ void ] : void1
__unset [] được gọi khi unset [] được sử dụng trên các thuộc tính không thể tiếp cận [được bảo vệ hoặc riêng tư] hoặc không tồn tại.
Cập nhật vào ngày 18 tháng 9 năm 2020 11:23:16
- Câu hỏi và câu trả lời liên quan
- Phương pháp Dunder hoặc Phép thuật trong Python
- Các nhà khai thác được ánh xạ đến các phương pháp ma thuật trong Python ở đâu?
- Hình vuông ma thuật
- Các thuộc tính và phương pháp tĩnh PHP
- Làm thế nào để tôi chuỗi phương pháp trong PHP?
- Hình vuông ma thuật trong lưới trong C ++
- Các phương thức getters và setters trong PHP là gì?
- Chuyển các phương thức tĩnh như đối số trong PHP & NBSP;
- Phương thức cuộc gọi PHP của các đối tượng trong mảng bằng Array_Map?
- Tại sao Bodh Gaya được biết đến với ma thuật đen?
- Đếm các hình vuông ma thuật trong một lưới trong C ++
- Các phương pháp để vệ sinh đầu vào của người dùng với PHP là gì?
- Điền vào các mục còn thiếu của một hình vuông ma thuật trong C ++
- Kiểm tra ma trận đã cho là hình vuông ma thuật hoặc không trong c ++
- Ma thuật đen là gì? Chúng ta có nên tin những thứ như vậy không?
Phương pháp ma thuật là gì và làm thế nào để sử dụng chúng trong PHP?.
- Phương pháp ma thuật là gì?
- Phương pháp ma thuật là các phương pháp đặc biệt trong Python có dấu gạch dưới gấp đôi [Dunder] ở cả hai phía của tên phương thức. Phương pháp ma thuật chủ yếu được sử dụng để vận hành quá tải.
- Các phương pháp ma thuật PHP khác nhau là gì?
- Giới thiệu. Phương pháp ma thuật trong PHP là các phương pháp đặc biệt nhằm thực hiện các nhiệm vụ nhất định. ....
__ngủ. công khai __s ngủ [void]: mảng. .... | __thức dậy. công khai __wakeup [void]: Void. .... | __Serialize. công khai __serialize [void]: mảng. .... |
__unSerialize. công khai __unSerialize [mảng $ data]: void. .... | __Tostring. .... | __invoke. .... Phương pháp __ __ trong PHP là gì? |
__Function__ và __method__ như trong Php 5.0.4 là như vậy. __Function__ chỉ trả về tên của hàm. trong khi __method__ trả về tên của lớp cùng với tên của hàm. | __Tostring. .... | __invoke. .... Phương pháp __ __ trong PHP là gì? |
__Function__ và __method__ như trong Php 5.0.4 là như vậy. __Function__ chỉ trả về tên của hàm. trong khi __method__ trả về tên của lớp cùng với tên của hàm. | & NBSP; Phương pháp ma thuật PHP là các phương pháp đặc biệt được gọi là tự động khi đáp ứng một số điều kiện nhất định. Có một số phương pháp ma thuật trong & nbsp; php. Mỗi phương pháp ma thuật tuân theo các quy tắc nhất định - | Mỗi phương pháp ma thuật bắt đầu với một dấu gạch dưới kép [& nbsp; __]. |
Chúng được xác định trước và không thể tạo ra cũng không bị loại bỏ. | Phương pháp ma thuật có tên dành riêng và tên của chúng không nên được sử dụng cho các mục đích khác. | Phương pháp ma thuật được gọi tự động khi đáp ứng một số tiêu chí nhất định. Tên phương thức Các loại trở lại |
Điều kiện gọi điện | __Tostring. .... | __invoke. .... |
Phương pháp __ __ trong PHP là gì? | __Tostring. .... | __invoke. .... |
Phương pháp __ __ trong PHP là gì? | __Function__ và __method__ như trong Php 5.0.4 là như vậy. __Function__ chỉ trả về tên của hàm. trong khi __method__ trả về tên của lớp cùng với tên của hàm. | & NBSP; Phương pháp ma thuật PHP là các phương pháp đặc biệt được gọi là tự động khi đáp ứng một số điều kiện nhất định. Có một số phương pháp ma thuật trong & nbsp; php. Mỗi phương pháp ma thuật tuân theo các quy tắc nhất định - |
Mỗi phương pháp ma thuật bắt đầu với một dấu gạch dưới kép [& nbsp; __].
Chúng được xác định trước và không thể tạo ra cũng không bị loại bỏ.In the below example, the MagicMethod class has a magic method __construct[] and it is called every time when a new object of MagicMethod class is created.
PHP
public __wakeup [ void ] : void9
public __serialize [ void ] : array0
public __serialize [ void ] : array1
Phương pháp ma thuật có tên dành riêng và tên của chúng không nên được sử dụng cho các mục đích khác.
Phương pháp ma thuật được gọi tự động khi đáp ứng một số tiêu chí nhất định.
public __serialize [ void ] : array2
public __unserialize [ array $data ] : void0
public __unserialize [ array $data ] : void0
public __unserialize [ array $data ] : void2
public __unserialize [ array $data ] : void3
public __unserialize [ array $data ] : void4
public __unserialize [ array $data ] : void5
public __unserialize [ array $data ] : void6
Đầu ra
public __wakeup [ void ] : void2
__destruct [] Phương thức: Trong ví dụ dưới đây, lớp MagicMethod có phương thức ma thuật __destestruct [] được gọi tự động khi đối tượng MagicMethod phá hủy. & NBSP;In the below example, the MagicMethod class has a magic method __destruct[] that gets called automatically when the object of MagicMethod destroys.
PHP
public __wakeup [ void ] : void9
public __serialize [ void ] : array0
public __serialize [ void ] : array1
public __serialize [ void ] : array2
public __serialize [ void ] : array3
public __toString [ void ] : string2
public __serialize [ void ] : array5
public __serialize [ void ] : array6
public __toString [ void ] : string5
public __serialize [ void ] : array5
public __toString [ void ] : string7
public __toString [ void ] : string8
public __serialize [ void ] : array8
public __serialize [ void ] : array2
public __unserialize [ array $data ] : void0
public __unserialize [ array $data ] : void0
public __unserialize [ array $data ] : void2
public __unserialize [ array $data ] : void3
public __unserialize [ array $data ] : void4
public __unserialize [ array $data ] : void5
public __unserialize [ array $data ] : void6
Đầu ra
public __wakeup [ void ] : void3
__destruct [] Phương thức: Trong ví dụ dưới đây, lớp MagicMethod có phương thức ma thuật __destestruct [] được gọi tự động khi đối tượng MagicMethod phá hủy. & NBSP;This method gets called when a method or property is called which has not been defined.
PHP
public __serialize [ void ] : array
0public __serialize [ void ] : array
1This contains the name of the method which was called.public __serialize [ void ] : array
2public __serialize [ void ] : array
3public __toString [ void ] : string
2This is an array of parameters that were given to that method.
PHP
public __wakeup [ void ] : void9
public __serialize [ void ] : array0
public __serialize [ void ] : array1
public __serialize [ void ] : array2
public __serialize [ void ] : array3
public __toString [ void ] : string2
public __serialize [ void ] : array5
public __serialize [ void ] : array6
public __toString [ void ] : string5
__Call [$ name, $ tham số] Phương thức: Phương thức này được gọi khi một phương thức hoặc thuộc tính được gọi là chưa được xác định.
public __serialize [ void ] : array5
public __set [ string $name , mixed $value ] : void1
static __set_state [ array $properties ] : object6
public __set [ string $name , mixed $value ] : void3
public __serialize [ void ] : array2
public __unserialize [ array $data ] : void0
public __unserialize [ array $data ] : void0
public __unserialize [ array $data ] : void2
public __unserialize [ array $data ] : void3
public __unserialize [ array $data ] : void4
public __unserialize [ array $data ] : void5
Phương pháp này có hai tham số:
public __unserialize [ array $data ] : void6
Đầu ra
public __wakeup [ void ] : void4
__destruct [] Phương thức: Trong ví dụ dưới đây, lớp MagicMethod có phương thức ma thuật __destestruct [] được gọi tự động khi đối tượng MagicMethod phá hủy. & NBSP;This method gets called when an object is treated as a string. This method is also useful to represent an object as a String.
PHP
public __wakeup [ void ] : void9
public __serialize [ void ] : array0
public __serialize [ void ] : array1
public __serialize [ void ] : array2
public __serialize [ void ] : array3
public __toString [ void ] : string2
public __serialize [ void ] : array5
public __serialize [ void ] : array6
public __toString [ void ] : string5
public __serialize [ void ] : array2
public __unserialize [ array $data ] : void0
public __unserialize [ array $data ] : void0
public __unserialize [ array $data ] : void2
public __unserialize [ array $data ] : void3
public __unserialize [ array $data ] : void4
public __unserialize [ array $data ] : void5
__Call [$ name, $ tham số] Phương thức: Phương thức này được gọi khi một phương thức hoặc thuộc tính được gọi là chưa được xác định.
public __unserialize [ array $data ] : void6
Đầu ra
public __wakeup [ void ] : void5
Phương pháp này có hai tham số:This method gets called when an inaccessible [private or protected ] variable or non-existing variables are used.
PHP
public __wakeup [ void ] : void9
public __serialize [ void ] : array0
public __serialize [ void ] : array1
public __serialize [ void ] : array2
public __serialize [ void ] : array3
public __toString [ void ] : string2
public __serialize [ void ] : array5
public __serialize [ void ] : array6
public __toString [ void ] : string5
__Call [$ name, $ tham số] Phương thức: Phương thức này được gọi khi một phương thức hoặc thuộc tính được gọi là chưa được xác định.
Phương pháp này có hai tham số:
public __serialize [ void ] : array2
public __unserialize [ array $data ] : void0
public __unserialize [ array $data ] : void0
public __unserialize [ array $data ] : void2
public __unserialize [ array $data ] : void3
public __unserialize [ array $data ] : void4
public __unserialize [ array $data ] : void5
public __unserialize [ array $data ] : void2
public __wakeup [ void ] : void46
public __unserialize [ array $data ] : void6
Đầu ra
public __wakeup [ void ] : void6
$ Tên: Điều này chứa tên của phương thức được gọi.This method is called when an inaccessible variable or non-existing variable is tried to modify or alter.
PHP
public __wakeup [ void ] : void9
public __serialize [ void ] : array0
public __serialize [ void ] : array1
public __serialize [ void ] : array2
public __serialize [ void ] : array3
public __toString [ void ] : string2
public __serialize [ void ] : array5
public __serialize [ void ] : array6
public __toString [ void ] : string5
__Call [$ name, $ tham số] Phương thức: Phương thức này được gọi khi một phương thức hoặc thuộc tính được gọi là chưa được xác định.
public __wakeup [ void ] : void33
public __wakeup [ void ] : void34
Phương pháp này có hai tham số:
public __serialize [ void ] : array2
public __unserialize [ array $data ] : void0
public __unserialize [ array $data ] : void0
public __unserialize [ array $data ] : void2
public __unserialize [ array $data ] : void3
public __unserialize [ array $data ] : void4
public __unserialize [ array $data ] : void5
public __unserialize [ array $data ] : void2
public __wakeup [ void ] : void82
public __wakeup [ void ] : void83
public __serialize [ void ] : array8
public __unserialize [ array $data ] : void6
Đầu ra
public __wakeup [ void ] : void7
$ Tên: Điều này chứa tên của phương thức được gọi.This method is used when the var_dump[] function is called with object as a parameter. This method should return an array containing all the variables which may be useful in debugging.
PHP
public __wakeup [ void ] : void9
public __serialize [ void ] : array0
public __serialize [ void ] : array1
public __serialize [ void ] : array2
public __serialize [ void ] : array3
public __toString [ void ] : string2
public __serialize [ void ] : array5
public __serialize [ void ] : array6
public __toString [ void ] : string5
public __serialize [ void ] : array2
public __unserialize [ array $data ] : void0
public __unserialize [ array $data ] : void0
public __unserialize [ array $data ] : void2
public __unserialize [ array $data ] : void3
public __unserialize [ array $data ] : void4
public __unserialize [ array $data ] : void5
public __serialize [ void ] : array07
public __unserialize [ array $data ] : void2
public __set [ string $name , mixed $value ] : void3
public __unserialize [ array $data ] : void6
Đầu ra
public __wakeup [ void ] : void8