简介
PHP手册的重载(overloading)与其他大多数面向对象编程语言不同。其他语言的重载是指有多个同名函数,其形参个数不同或者类型不同。而PHP中的重载是指动态地"创建"类属性和方法,当调用当前环境下未定义或不可见的类属性或方法时,重载方法会被调用。简单的来说就是当访问一个不存在或不可访问的属性或方法时,PHP会自动帮你添加一个属性或方法。PHP重载通过魔术方法(magic methods)实现。
注:
1、重载只在类与对象中才能使用;
2、所有重载方法都必须被声明为public,这些方法的参数不能通过引用传递。
PHP重载有两种:属性重载、方法重载
属性重载
public void __set ( string $name , mixed $value )
public mixed __get ( string $name )
public bool __isset ( string $name )
public void __unset ( string $name )
方法重载
public mixed __call ( string $name , array $arguments )
public static mixed __callStatic ( string $name , array $arguments )