//魔术方法
补充 忘记两个
//构造方法
1 方法名称与类名称相同的方法
2 __construct(推荐使用 优先选择)
3 参数 : 不定
4 触发时机
当对象new实例化的一瞬间自动调用这个方法
作用 :队成员进行初始化的操作
//析构方法
1 方法名称为 __destruct
2 参数:无
3 触发时机:
当对象销毁的一瞬间自动调用析构方法
作用:做程序的后续操作
__set
参数:两个(第一个属性名称 第二属性值)
触发时机:
党对私有的成员属性 受保护的成员属性赋值饿时候 未定义的成员属性进行赋值的时候会自动调用 并且将成员属性的名称传递给第一个参数 将成员属性要付的值传递给第二从参数
作用:对私有的 受保护的 未定义的成员属性进行赋值控制
__get
参数:一个(接收要取值的属性名称)
触发时机: 对私有的 受保护的 未定义的成员属性进行取值操作的时候会自动调用 并且将成员属性名称传递给该方法
作用:对私有的受保护的 未定义的成员属性进行取值控制
__isset
参数:一个(属性的名称)
触发时机:对私有的未定义的受保护的成员属性__isset或者是empty函数进行判断的时候 自动调用
作用: 对私有的 受保护的 未定义的 成员属性进行isset 或者是empty判读的控制
注意:会有返回值 true false;
个人感想:__isset 这个函数 给受保护的还有私有的时候 想要拿到必须使用return true 不然直接false return true 在empty的时候就是必须为空啦 不能再去有值了
__unset:
参数:一个 (接受属性名称);
触发时机:当对私有的受保护的成员属性进行unset销毁的时候自动调用 并且降属性名称已第一个参数进行形式传递
作用:对私有的 受保护的成员属性进行unset控制
__clone()
参数:无
触发时机:
当在使用clone对象的一瞬间自动调用
作用:通常情况下 是将克隆出的对象进行微调 原对象不会被影响
toString();
参数: 无
触发时机:当echo对象的时候 自动调用本方法
作用: 只是为了更好的操作本对象
注意:本方法一定要返回字符串类型的值
__call()
参数:两个(第一个是调用方法的名称 第二个实际参数的数组) 触发时机:当调用一个不存在的成员方法时候自动调用 并且会将方法的名称传递给第一个参数 会将方法的实际参数传递给第二名称
作用: 避免程序报错 影响后续代码执行
__autoload()
参数:一个(类的名称)
触发时机: 当要使用(继承父类 实例化)一个不存在的类的时候自动调用这个函数 并且会将不存在的类名传递给参数
作用: 帮助我们加载类文件 不需要考虑加载顺序问题
__sleep()
参数:无
触发时机:当对象序列化serialize的时候自动调用该方法
作用:让用户可以可以自定义选择要序列化的成员属性
注意:该方法一定要返回数组类型的值,数组元素的值及为成员属性的名称
__wakeup()
参数: 无
触发时机: 当对象进行反序列化unserialize操作的时候自调用
作用:当反序列化对象的时候 使对象当中的成员发生改变