强类型语言重载机制举例

    当一个类里面定义了两个相同的方法时,会根据调用方法的传参系统进行自动调用相应的类

    1. class A{
    2. public display(int number){
    3. return 1;
    4. }
    5. public display(String string){
    6. }
    7. }
    8. A obj = new A();
    9. obj.display(1); //调用第一个方法
    10. obj.display("good"); //调用第二个方法

    这是传统重载的概念 , 但是PHP是弱类型语言,它不支持这种方式,PHP拥有自己的重载方式,本质上就是在访问不存在、权限不够的类成员时自动触发(魔术方法),这就是PHP重载,也叫容错处理。

    PHP类属性重载模式方法列表:

    __get(param:属性名) : 当访问一个不存在的属性时触发

    __set(param:属性名,param:属性值):当设置一个不存在的属性时触发

    __isset(param:属性名):当判断一个属性是否存在时触发

    __unset(param:属性名):当销毁一个属性时触发

    PHP类方法重载方法列表:

    __call(param:方法名,param:参数):当访问一个不存在类方法时触发

    __callstatic(param:方法名,param:参数):当访问一个不存在的静态类方法时触发