PHP面向对象介绍+类(定义+访问)+魔术方法(构造+析构)+对象传值比较+封装DB类
面向对象编程1.什么是面向对象编程面向对象编程不是技术是一种思想是一种将程序的设计符合自然界中事务发展的规律的思想。面向对象基本概念在面向对象编程里有几个基本概念类实例化对象实例类类是自然界中对某一类具有共同属性和能力的事务实体的集合分类类指的是将拥有共同属性和能力的实体将该共性抽离处理形成文字的描述最终转换成系统的所能识别的代码的过程称之为抽象。类是对象的抽象。类关键字class语法定义类class 类名{//类成员}对象自然界中存在的任何一个个体都称之为对象对象必须与对应的类有关系。对象是类的实例化。对象也被称之为实例。对象是类的具象。object实例化实例化就是从一个抽象的描述中去得到一个具体的个体的过程称之为实例化。实例化类得到对象的过程实例化关键字new实例化的结果就是产生类的对象。类成员类成员所有定义在类内部的结构类里面只能有类成员不能有任何其他的东西。类成员属性变量方法能力函数类常量定义在类里面的常量属性定义在类中的变量原因类里面定义的属性需要指定可以被访问的范围。在类中定义的属性需要使用访问修饰限定符来控制。访问修饰限定符有三种publicprotected和privatepublic公有的属性可以在类意外的地方使用protected受保护的属性只能在类的内部使用如果有继承可以在子类内部使用private私有的只能在当前类的内部使用其他任何地方都不能使用php在5以前没有这三种访问修饰限定符使用var关键字var关键字默认的代表的意思就是public属性与对象的关系所有的属性都保存在对象里面访问属性属性是属于对象的因此属性的访问应该是对象访问。语法访问对象变量-属性名;修改对象变量-属性名 值;方法方法类里面定义的函数查看对象说明方法不在对象里面说明一定是在类里面。调用方法方法依然是通过对象来进行调用对象-方法名(实参列表);访问修饰限定符的限制类常量定义在类里面的常量。类常量必须使用const关键字定义const 常量名 值;常量与对象的关系常量不能通过对象访问私有访问对带有私有private关键字修饰的属性和方法的访问protected与私有一样。private只能在类的内部进行使用只能在类中定义的方法的内部去使用。在类的内部有一个关键字能够代表当前进入到类内部的对象$this$this只能在类的内部使用只能在方法里面使用类与对象的内存分析魔术方法魔术方法也是一种方法是一种在类内部定义的方法。魔术方法会在某个特定的情况下自动的被对象调用。构造方法构造方法就是对象在实例化之后会自动调用的方法。语法__construct()构造方法的意义给对象的属性进行初始化兼容性构造方法在低版本中没有构造方法__construct()与其他语言一样构造方法的名字与类名一致兼容构造方法处理方式析构方法析构方法对象被销毁的时候销毁前会自动调用的方法语法__destruct()析构方法的意义往往是为了释放内存释放资源因为PHP不操作内存通常内存都是交给操作系统去自动回收所以在php中析构方法使用的很少。有哪些方式能够促使对象调用析构方法1.unset对象对应的变量2.置空3.指向其他变量对象传值理解将一个对象所用的变量赋值给另外一个变量只会产生一个对象。对象之间的传递默认的就是引用传递对象比较理解对象比较比的是否属于同一个类之后再进行属性的比较封装DB类类名DB一个类应该单独存在于一个文件一个文件中只有一个类定义通常类文件的命名规范是类名.class.php。1.创建一个文件DB.class.php2.定义属性在定义任何属性和方法的时候都应该尽量的增加类对属性和方法的控制尽可能的让数据只在类内部才能被操作访问修饰限定符 private-protected-public3.初始化属性构造方法4.连接数据库单独存在一个方法专门用于连接数据库。5.设置字符集单独存在方法设置字符集6.将SQL语句语法错误处理单独形成方法7.将所有要使用mysql_query执行的地方调用db_query错误处理方法8.选择数据库单独存在方法9.增加数据新增方法返回自增长id10.增加查询数据的方法a)查询单行数据一条记录返回一个一维关联数组b)查询全部数据多条记录返回一个二维关联数组删和改返回的数据是受影响的行数mysql_affected_rows();