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ệ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 ) : void
0

__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 ) : void
1

__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.

Hướng dẫn explain magic method in php - giải thích phương pháp ma thuật trong php

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?

public __wakeup ( void ) : void
33
__debugInfo ( void ) : array
1
static __set_state ( array $properties ) : object
4
__debugInfo ( void ) : array
1
public __wakeup ( void ) : void
65
__debugInfo ( void ) : array
1
public __wakeup ( void ) : void
56
__debugInfo ( void ) : array
3

  • public __wakeup ( void ) : void
    33
    public __wakeup ( void ) : void
    36
    public __wakeup ( void ) : void
    73
  • Phương thức __debuginfo (): Phương thức này được sử dụng khi hàm var_dump () được gọi với đối tượng làm tham số. Phương pháp này sẽ trả về một mảng chứa tất cả các biến có thể hữu ích trong việc gỡ lỗi.
  • public __serialize ( void ) : array
    2
    public __serialize ( void ) : array
    3
    public __wakeup ( void ) : void
    91
  • public __serialize ( void ) : array
    5
    public __wakeup ( void ) : void
    05
    public __wakeup ( void ) : void
    94
    public __wakeup ( void ) : void
    95
    public __wakeup ( void ) : void
    96
    public __wakeup ( void ) : void
    97
    public __wakeup ( void ) : void
    98
    public __set ( string $name , mixed $value ) : void
    3
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. 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.

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.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.

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ệnCá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.
Phương pháp __ __ trong PHP là gì?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.
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 ) : void
9

public __serialize ( void ) : array
0
public __serialize ( void ) : array
1

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 ) : void
0

public __unserialize ( array $data ) : void
2
public __unserialize ( array $data ) : void
3
public __unserialize ( array $data ) : void
4
public __unserialize ( array $data ) : void
5

public __unserialize ( array $data ) : void
6

Đầu ra

public __wakeup ( void ) : void
2

__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 ) : void
9

public __serialize ( void ) : array
0
public __serialize ( void ) : array
1

public __serialize ( void ) : array
2
public __serialize ( void ) : array
3
public __toString ( void ) : string
2

public __serialize ( void ) : array
5
public __serialize ( void ) : array
6
public __toString ( void ) : string
5

public __serialize ( void ) : array
5
public __toString ( void ) : string
7
public __toString ( void ) : string
8
public __serialize ( void ) : array
8

public __serialize ( void ) : array
2
public __unserialize ( array $data ) : void
0

public __unserialize ( array $data ) : void
0

public __unserialize ( array $data ) : void
2
public __unserialize ( array $data ) : void
3
public __unserialize ( array $data ) : void
4
public __unserialize ( array $data ) : void
5

public __unserialize ( array $data ) : void
6

Đầu ra

public __wakeup ( void ) : void
3

__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
    0
    public __serialize ( void ) : array
    1
    This contains the name of the method which was called.
  • public __serialize ( void ) : array
    2
    public __serialize ( void ) : array
    3
    public __toString ( void ) : string
    2
    This is an array of parameters that were given to that method.

PHP

public __wakeup ( void ) : void
9

public __serialize ( void ) : array
0
public __serialize ( void ) : array
1

public __serialize ( void ) : array
2
public __serialize ( void ) : array
3
public __toString ( void ) : string
2

public __serialize ( void ) : array
5
public __serialize ( void ) : array
6
public __toString ( void ) : string
5

__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 ) : array
5
public __set ( string $name , mixed $value ) : void
1
static __set_state ( array $properties ) : object
6
public __set ( string $name , mixed $value ) : void
3

public __serialize ( void ) : array
2
public __unserialize ( array $data ) : void
0

public __unserialize ( array $data ) : void
0

public __unserialize ( array $data ) : void
2
public __unserialize ( array $data ) : void
3
public __unserialize ( array $data ) : void
4
public __unserialize ( array $data ) : void
5

Phương pháp này có hai tham số:

public __unserialize ( array $data ) : void
6

Đầu ra

public __wakeup ( void ) : void
4

__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 ) : void
9

public __serialize ( void ) : array
0
public __serialize ( void ) : array
1

public __serialize ( void ) : array
2
public __serialize ( void ) : array
3
public __toString ( void ) : string
2

public __serialize ( void ) : array
5
public __serialize ( void ) : array
6
public __toString ( void ) : string
5

public __serialize ( void ) : array
2
public __unserialize ( array $data ) : void
0

public __unserialize ( array $data ) : void
0

public __unserialize ( array $data ) : void
2
public __unserialize ( array $data ) : void
3
public __unserialize ( array $data ) : void
4
public __unserialize ( array $data ) : void
5

__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 ) : void
6

Đầu ra

public __wakeup ( void ) : void
5

__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.

PHP

public __wakeup ( void ) : void
9

public __serialize ( void ) : array
0
public __serialize ( void ) : array
1

public __serialize ( void ) : array
2
public __serialize ( void ) : array
3
public __toString ( void ) : string
2

public __serialize ( void ) : array
5
public __serialize ( void ) : array
6
public __toString ( void ) : string
5

__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 ) : array
2
public __unserialize ( array $data ) : void
0

public __unserialize ( array $data ) : void
0

public __unserialize ( array $data ) : void
2
public __unserialize ( array $data ) : void
3
public __unserialize ( array $data ) : void
4
public __unserialize ( array $data ) : void
5

public __unserialize ( array $data ) : void
2
public __wakeup ( void ) : void
46

public __unserialize ( array $data ) : void
6

Đầu ra

public __wakeup ( void ) : void
6

__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.

PHP

public __wakeup ( void ) : void
9

public __serialize ( void ) : array
0
public __serialize ( void ) : array
1

public __serialize ( void ) : array
2
public __serialize ( void ) : array
3
public __toString ( void ) : string
2

public __serialize ( void ) : array
5
public __serialize ( void ) : array
6
public __toString ( void ) : string
5

__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 ) : void
33
public __wakeup ( void ) : void
34

Phương pháp này có hai tham số:

public __serialize ( void ) : array
2
public __unserialize ( array $data ) : void
0

public __unserialize ( array $data ) : void
0

public __unserialize ( array $data ) : void
2
public __unserialize ( array $data ) : void
3
public __unserialize ( array $data ) : void
4
public __unserialize ( array $data ) : void
5

public __unserialize ( array $data ) : void
2
public __wakeup ( void ) : void
82
public __wakeup ( void ) : void
83
public __serialize ( void ) : array
8

public __unserialize ( array $data ) : void
6

Đầu ra

public __wakeup ( void ) : void
7

__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.

PHP

public __wakeup ( void ) : void
9

public __serialize ( void ) : array
0
public __serialize ( void ) : array
1

public __serialize ( void ) : array
2
public __serialize ( void ) : array
3
public __toString ( void ) : string
2

public __serialize ( void ) : array
5
public __serialize ( void ) : array
6
public __toString ( void ) : string
5

public __serialize ( void ) : array
2
public __unserialize ( array $data ) : void
0

public __unserialize ( array $data ) : void
0

public __unserialize ( array $data ) : void
2
public __unserialize ( array $data ) : void
3
public __unserialize ( array $data ) : void
4
public __unserialize ( array $data ) : void
5

public __serialize ( void ) : array
07
public __unserialize ( array $data ) : void
2
public __set ( string $name , mixed $value ) : void
3

public __unserialize ( array $data ) : void
6

Đầu ra

public __wakeup ( void ) : void
8


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.