20150109--面向对象+对象传值-00

魔术方法

魔术方法也是一种方法,是一种在类内部定义的方法。魔术方法会在某个特定的情况下自动的被对象调用。

构造方法

构造方法就是对象在实例化之后会自动调用的方法。

语法:__construct()

clip_image002

构造方法的意义:给对象的属性进行初始化

clip_image004

兼容性构造方法

在低版本中没有构造方法__construct(),与其他语言一样,构造方法的名字与类名一致

clip_image006

兼容构造方法处理方式

clip_image008

析构方法

析构方法:对象被销毁的时候(销毁前),会自动调用的方法

语法:__destruct()

clip_image010

析构方法的意义:往往是为了释放内存(释放资源)

因为PHP不操作内存,通常内存都是交给操作系统去自动回收,所以在php中,析构方法使用的很少。

有哪些方式能够促使对象调用析构方法?

1. unset对象对应的变量

2. 置空

3. 指向其他变量

clip_image012

对象传值(理解)

将一个对象所用的变量赋值给另外一个变量,只会产生一个对象。

对象之间的传递默认的就是引用传递

clip_image014

对象比较(理解)

对象比较比的是否属于同一个类,之后再进行属性的比较

clip_image016

封装DB类

类名:DB

一个类应该单独存在于一个文件(一个文件中只有一个类定义),通常类文件的命名规范是:类名.class.php。

1. 创建一个文件:DB.class.php

clip_image018

2. 定义属性

在定义任何属性和方法的时候,都应该尽量的增加类对属性和方法的控制(尽可能的让数据只在类内部才能被操作:访问修饰限定符), private->protected->public

clip_image020

3. 初始化属性:构造方法

clip_image022

4. 连接数据库:单独存在一个方法,专门用于连接数据库。

clip_image024

5. 设置字符集:单独存在方法,设置字符集

clip_image026

6. 将SQL语句语法错误处理单独形成方法

clip_image028

7. 将所有要使用mysql_query执行的地方,调用db_query错误处理方法

clip_image030

8. 选择数据库:单独存在方法

clip_image032

9. 增加数据新增方法:返回自增长id

clip_image034

10. 增加查询数据的方法

a) 查询单行数据:一条记录,返回一个一维关联数组

clip_image036

b) 查询全部数据:多条记录,返回一个二维关联数组

clip_image038

删和改:返回的数据是受影响的行数:mysql_affected_rows();

作业:

封装自己的DB类

原文地址:https://www.cnblogs.com/lifushan/p/5414838.html