In PHP, methods starting with two underscores are called Magic methods. These methods play a decisive role in PHP. Magic methods are particularly common. , especially in encapsulated methods, Magic methods also bring very convenient usage to the implementation of encapsulated classes
Common magic methods:
#construct() is automatically called when instantiating the object. Construct is called when construct and the function with the class name and function name exist at the same time, and the other one is not called. The function with the class name and function name is the old version of constructor.
destruct() is called when deleting an object or an object operation ends.
call() object calls a method. If the method does not exist, call this method
get() reads an objectproperty, if the object property is private it will be called
set() When assigning a value to an object property, it will be called if the property is private
toString() Print an object will be called when.
clone() is called when cloning an object, such as: $a=new test(); $a1=clone $a;
sleep() Serialize was called before. If the object is larger than and you want to delete something during serialization, you can use it.
wakeup() is called during Unserialize to do some object initialization work.
isset() detects whether an object's attributes exist. If the detected attribute is private, it will be called.
unset() When deleting an object attribute, if the deleted object attribute is private, it will be called
set_state() When calling var_export, is called. Use the return value of set_state as the return value of var_export.
autoload() When instantiating an object, if the corresponding class does not exist, this method will be ignored.
After mastering the above magic methods, it is not difficult to encapsulate a class.
Related recommendations:
php magic method comparison and use Detailed explanation of example code
php magic method application example code summary
The above is the detailed content of PHP various magic methods analysis. For more information, please follow other related articles on the PHP Chinese website!