面向对象编程
将表单中的数据与原始数据进行比较
目的:只保存发生变化的数据
$diff = array_diff($_POST,$user)
最终类与抽象类的差异?
- 抽象类不能被实例化,可以被继承
最终类可以被实例化,不可以被继承 - 抽象类中可以包含最终方法,但是final不能修饰抽象方法
- 最终类(不能被继承)中不能包含抽象方法
接口与抽象类的差异?
- 接口中所有的方法都是抽象方法,
抽象类中可以有抽象方法,也可以有普通方法 - 接口中的抽象方法不能使用abstract,
抽象类中的抽象方法可以使用abstract - 接口中只能有抽象方法和常量,抽象类可以有成员属性
- 接口中抽象方法的访问修饰符只能是public,
抽象类中抽象方法的访问修饰符可以是public或protected - 普通类继承抽象类使用extends关键字
普通类继承接口使用implements关键字,但是接口继承接口使用extends关键字
调试:
定位错误 XXXX.php 在xxx行
常见问题:
拼写错误,
不存在 Undefined
语法错误缩小代码范围
沿着调用顺序,逐渐缩小代码范围
作业:
- 将正则验证函数封装到验证类中 Validator.class.php
方法都声明为静态,
例如: 验证手机 Validator::isMobile($手机号码) - 重写一遍验证码类
- 复习final,static,interface