php 重载(对一个对象或类使用其未定义的属性或方法)

重载在“php语言”中的含义:
是指,当对一个对象或类使用其未定义的属性或方法的时候,其中的一些“处理机制”;
php 重载(对一个对象或类使用其未定义的属性或方法)
结果为:
php 重载(对一个对象或类使用其未定义的属性或方法)
则:php中的重载技术,就是来应对上述“出错”的情况,使代码不出错,而且还能“优雅处理”;
php 重载(对一个对象或类使用其未定义的属性或方法)
则结果是:
php 重载(对一个对象或类使用其未定义的属性或方法)
属性重载
就是对一个对象的不存在的属性进行使用的时候,这个类中预先设定好的应对办法(处理机制);

属性,本质,就是变量,其只有4个操作:
取值:
当对一个对象的不存在的属性进行“取值”的时候,就会自动调用内部方法:__GET()
赋值:
当对一个对象的不存在的属性进行“赋值”的时候,就会自动调用内部方法:__SET()
判断(isset):
当对一个对象的不存在的属性进行isset()判断的时候,就会自动调用内部方法:__isset()
销毁(unset):
当对一个对象的不存在的属性进行unset()销毁的时候,就会自动调用内部方法:__unset()

以上,4个方法,被称为“魔术方法”;
__GET($属性名):
在对一个对象的不存储的属性进行“取值”的时候,会自动调用的方法;
我们其实是可以使用该方法来对这种“意外”情况进行某种特别的处理。
其中,该方法可以带一个形参,表示这个要对之取值的不存在的属性名(字符串);
php 重载(对一个对象或类使用其未定义的属性或方法)
__SET($属性名,值):
当对一个对象的不存在的属性进行“赋值”的时候,就会自动调用这个内部的魔术方法;
它有2个形参,分别代表要对不存在的属性进行赋值的时候的“属性名”和“属性值”;

这个方法,结合__GET方法,往往可以使我们定义的类,就有一种“可方便扩展属性”的特性。
即:类(或对象)的属性,可以更为方便*,如下所示:
php 重载(对一个对象或类使用其未定义的属性或方法)
__ISSET($属性名):
当对一个对象的不存在的属性进行isset()判断的时候,就会自动调用内部方法:__isset();
用法:
v1=isset(v1 = isset(对象 -> 不存在的属性); // 此时就会调用这个对象的所属类中的魔术方法:__isset()
php 重载(对一个对象或类使用其未定义的属性或方法)
php 重载(对一个对象或类使用其未定义的属性或方法)
__UNSET($属性名):

当对一个对象的不存在的属性进行unset()销毁操作的时候,就会自动调用内部方法:__unset()
php 重载(对一个对象或类使用其未定义的属性或方法)
测试代码:
php 重载(对一个对象或类使用其未定义的属性或方法)
结果:
php 重载(对一个对象或类使用其未定义的属性或方法)
方法重载
当对一个对象的不存在的实例方法进行“调用”的时候,会自动调用类中的__call()这个魔术方法;

当对一个类的不存在的静态方法进行“调用”的时候,会自动调用类中的__callstatic()这个静态魔术方法;

基本应用实例:
php 重载(对一个对象或类使用其未定义的属性或方法)
改为:
php 重载(对一个对象或类使用其未定义的属性或方法)
利用php的重载技术,实现通常的“方法重载”:
php 重载(对一个对象或类使用其未定义的属性或方法)