构造函数

1
function __construct(){}

析构函数

释放资源,比如打印机。当对象被设为null(对象不会再被调用的时候,),或者程序结束时,会调用析构函数。

1
function __destruct{}

this是php里面的伪变量,表示自身对象
self对应类的静态变量

重写

方法名和修饰完全一样,参数可以不一样

###魔术方法

1
__toString()

和toString一样的作用

1
__invoke()

对象作方法调用
在把对象当作一个方法调用的时候自动调用

1
2
// $name是方法名称,$args是数组
public function __call($name, $args)

当对象访问不存在的方法名称时,会被自动调用

1
2
// $name是方法名称,$args是数组
public static function __callStatic($name, $args)

当对象访问不存在的静态方法名称时,会被自动调用

还有四个重要的函数:

1
2
3
4
5
//TODO: 查一下用法
call_user_func_array()
call_user_func()
func_get_args()
func_num_args()

属性重载有四个重要的函数:

1
__get(),__set(),__isset(),__unset()

使用方法

1
2
3
4
5
$obj->className;
$obj->className = 'MagicClassX';
isset(obj->className);
empty(obj->className);
unset(obj->className);
1
__clone

在调用clone方法时会被调用,初始化clone时对象里的值