Magic function
1. __construct()
Called when an object is instantiated,
When __construct and a function with the class name exist at the same time, __construct will be called and the other will not be called.
2. __destruct()
Called when an object is deleted or when the object operation terminates.
3. __call()
The object calls a method,
If the method exists, call it directly;
If it does not exist, the __call function will be called.
4. __get()
When reading the properties of an object,
If the attribute exists, the attribute value is returned directly;
If it does not exist, the __get function will be called.
5. __set()
When setting the properties of an object,
If the attribute exists, assign the value directly;
If it does not exist, the __set function will be called.
6. __toString()
Called when printing an object. Such as echo $obj; or print $obj;
7. __clone()
Called when cloning an object. For example: $t=new Test();$t1=clone $t;
8. __sleep()
serialize was called before. If the object is relatively large and you want to delete a few things before serializing, you can consider this function.
9. __wakeup()
It is called when unserialize is used to do some object initialization work.
10. __isset()
Called when checking whether an object's property exists. For example: isset($c->name).
11. __unset()
Called when unsetting a property of an object. For example: unset($c->name).
12. __set_state()
Called when var_export is called. Use the return value of __set_state as the return value of var_export.
13. __autoload()
When instantiating an object, this method is called if the corresponding class does not exist.
Magic Constants
1. __LINE__
Returns the current line number in the file.
2. __FILE__
Returns the full path and file name of the file. If used in an include file, returns the include file name. As of PHP 4.0.2, __FILE__ always contains an absolute path, while versions before that sometimes contained a relative path.
3. __FUNCTION__
Returns the function name (new in PHP 4.3.0). Since PHP 5 this constant returns the name of the function as it was defined (case sensitive). In PHP 4 this value is always lowercase.
4. __CLASS__
Returns the name of the class (new in PHP 4.3.0). Since PHP 5 this constant returns the name of the class when it was defined (case sensitive). In PHP 4 this value is always lowercase.
5. __METHOD__
Returns the method name of the class (new in PHP 5.0.0). Returns the name of the method as it was defined (case-sensitive).
(1) First introduction to magic methods
Php5.0 has provided us with many object-oriented features since its release, especially many easy-to-use magic methods that allow us to simplify our coding and better design our systems. Today we will learn about the magic methods provided by php5.0.