Hướng dẫn explain magic method in php - giải thích phương pháp ma thuật trong php
Giới thiệuPhươ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. Show Các phương pháp kỳ diệu hiện có sẵn trong PHP __sleeppublic __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. __wakeuppublic __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ó. __serializepublic __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. __unserializepublic __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 __toStringpublic __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_statestatic __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ị. __setpublic __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. __getpublic __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. __issetpublic __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. __unsetpublic __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
public __wakeup ( void ) : void33 __debugInfo ( void ) : array1 static __set_state ( array $properties ) : object4 __debugInfo ( void ) : array1 public __wakeup ( void ) : void65 __debugInfo ( void ) : array1 public __wakeup ( void ) : void56 __debugInfo ( void ) : array3
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. PHPpublic __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. Tên phương thức 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. PHPpublic __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
PHPpublic __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. PHPpublic __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 __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 inaccessible (private or protected ) variable or non-existing variables are used. PHPpublic __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 __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 is called when an inaccessible variable or non-existing variable is tried to modify or alter. PHPpublic __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 __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 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. PHPpublic __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 Phương pháp ma thuật trong PHP là gì?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.special methods that are aimed to perform certain tasks. These methods are named with double underscore (__) as prefix. All these function names are reserved and can't be used for any purpose other than associated magical functionality. Magical method in a class must be declared public.
Phương pháp ma thuật trong PHP với các ví dụ là gì?Phương pháp ma thuật là gì và làm thế nào để sử dụng chúng trong PHP?. Các 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.special methods in python that have double underscores (dunder) on both sides of the method name. Magic methods are predominantly used for operator overloading.
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.returns the name of the class alongwith the name of the function. |