魔术方法
魔术方法也是一种方法,是一种在类内部定义的方法。魔术方法会在某个特定的情况下自动的被对象调用。
构造方法
构造方法就是对象在实例化之后会自动调用的方法。
语法:__construct()
构造方法的意义:给对象的属性进行初始化
兼容性构造方法
在低版本中没有构造方法__construct(),与其他语言一样,构造方法的名字与类名一致
兼容构造方法处理方式
析构方法
析构方法:对象被销毁的时候(销毁前),会自动调用的方法
语法:__destruct()
析构方法的意义:往往是为了释放内存(释放资源)
因为PHP不操作内存,通常内存都是交给操作系统去自动回收,所以在php中,析构方法使用的很少。
有哪些方式能够促使对象调用析构方法?
1. unset对象对应的变量
2. 置空
3. 指向其他变量
对象传值(理解)
将一个对象所用的变量赋值给另外一个变量,只会产生一个对象。
对象之间的传递默认的就是引用传递
对象比较(理解)
对象比较比的是否属于同一个类,之后再进行属性的比较
封装DB类
类名:DB
一个类应该单独存在于一个文件(一个文件中只有一个类定义),通常类文件的命名规范是:类名.class.php。
1. 创建一个文件:DB.class.php
2. 定义属性
在定义任何属性和方法的时候,都应该尽量的增加类对属性和方法的控制(尽可能的让数据只在类内部才能被操作:访问修饰限定符), private->protected->public
3. 初始化属性:构造方法
4. 连接数据库:单独存在一个方法,专门用于连接数据库。
5. 设置字符集:单独存在方法,设置字符集
6. 将SQL语句语法错误处理单独形成方法
7. 将所有要使用mysql_query执行的地方,调用db_query错误处理方法
8. 选择数据库:单独存在方法
9. 增加数据新增方法:返回自增长id
10. 增加查询数据的方法
a) 查询单行数据:一条记录,返回一个一维关联数组
b) 查询全部数据:多条记录,返回一个二维关联数组
删和改:返回的数据是受影响的行数:mysql_affected_rows();
作业:
封装自己的DB类