PHP面向对象-----魔术方法
2017-03-16 17:57
162 查看
__get($name)--触发时机:当调用一个不访问的成员属性的时候,会自动触发,可以利用这个方法来完成对不可调用的属性进行调用,但是不能设置值
___set(\($name,\)value)--触发时机:当给一个不可访问的成员属性赋值的时候,会自动触发这个方法,可以利用这个方法完成对不可以访问的属性进行赋值
__isset($name)---触发时机:当使用isset()函数来判断一个对象的属性的时候,如果这个属性不存在或者不能被访问的时候会触发这个魔术方法
__call(\($method,\)args)---触发时机:当调用一个不存在的成员方法或者是不可访问的成员访问的时候会被触发
__callStatic(\($method,\)args)--触发时机:当调用一个不存在的成员方法或者是不可访问的成员访问的时候会被触发
__unset()---触发时机:当要销毁一个不可访问的或者不存在的成员属性的时候会被调用
__sleep()---触发时机:当使用serialize把对象进行序列化的时候会被触发
__wakeup()
触发时机:当使用unserialize的反序列化的时候会被自动触发
```php
public function __wakeup()
{
```
__toString()
触发时机:在echo一个对象的时候会被触发
__clone()
对象复制可以通过 clone 关键字来完成(如果可能,这将调用对象的 __clone() 方法)
___set(\($name,\)value)--触发时机:当给一个不可访问的成员属性赋值的时候,会自动触发这个方法,可以利用这个方法完成对不可以访问的属性进行赋值
__isset($name)---触发时机:当使用isset()函数来判断一个对象的属性的时候,如果这个属性不存在或者不能被访问的时候会触发这个魔术方法
__call(\($method,\)args)---触发时机:当调用一个不存在的成员方法或者是不可访问的成员访问的时候会被触发
__callStatic(\($method,\)args)--触发时机:当调用一个不存在的成员方法或者是不可访问的成员访问的时候会被触发
__unset()---触发时机:当要销毁一个不可访问的或者不存在的成员属性的时候会被调用
__sleep()---触发时机:当使用serialize把对象进行序列化的时候会被触发
php public function __sleep() { return array('xxx');//指定可以被序列化的属性 }
__wakeup()
触发时机:当使用unserialize的反序列化的时候会被自动触发
```php
public function __wakeup()
{
}
```
__toString()
触发时机:在echo一个对象的时候会被触发
PHP public function __toString() { return '小可爱'; }
__clone()
对象复制可以通过 clone 关键字来完成(如果可能,这将调用对象的 __clone() 方法)
相关文章推荐
- PHP面向对象_魔术常量、魔术方法和预定义常量总结
- php (十四) 面向对象 魔术方法 __set()、__get()、__isset() 与 __unset()
- php面向对象之-魔术方法在框架中的应用(自动生成sql语句)-127
- PHP面向对象之魔术方法
- PHP面向对象:魔术方法__toString()
- php笔记(10)——面向对象之魔术方法
- php 面向对象之—— 魔术方法
- php面向对象之-魔术方法__set__get__unset__isset的使用-126
- PHP中的面向对象OOP中的魔术方法
- 浅谈PHP中的面向对象OOP中的魔术方法
- PHP面向对象-----魔术方法
- 【代码总结】PHP面向对象之常见的关键字和魔术方法
- 前端学PHP之面向对象系列第二篇——魔术方法
- PHP面向对象:封装--魔术方法__get()
- PHP面向对象-----魔术方法
- PHP之面向对象的魔术方法
- PHP面向对象:魔术方法__call()
- PHP中的面向对象魔术方法大全
- PHP面向对象_对象克隆clone和魔术方法__clone()
- PHP面向对象之魔术方法复习