PHP 中的魔术方法(Magic Methods)是一些特殊的方法,它们以双下划线(__
)开头,用于在特定的情况下自动调用。这些方法允许你在对象中实现一些特殊的行为。以下是 PHP 中常见的魔术方法:
__construct()
__destruct()
__get($name)
__set($name, $value)
__isset($name)
isset()
或 empty()
时自动调用。__unset($name)
unset()
时自动调用。__call($name, $arguments)
__callStatic($name, $arguments)
__toString()
echo $obj;
)。__invoke(...$arguments)
__sleep()
__wakeup()
__clone()
__debugInfo()
var_dump()
或 print_r()
打印对象时自动调用。__set_state($array)
var_export()
导出对象时自动调用。__serialize()
和 __unserialize($data)
__sleep()
和 __wakeup()
。__serialize()
用于返回一个数组,表示对象的状态。__unserialize($data)
用于从数组恢复对象的状态。__autoload($class)
__toString()
__clone()
__debugInfo()
var_dump()
或 print_r()
打印对象时自动调用。__set_state($array)
var_export()
导出对象时自动调用。__serialize()
和 __unserialize($data)
__sleep()
和 __wakeup()
。__serialize()
用于返回一个数组,表示对象的状态。__unserialize($data)
用于从数组恢复对象的状态。__autoload($class)
这些魔术方法为 PHP 提供了强大的灵活性,允许开发者自定义对象的行为,使其更加符合特定的需求。