开发者学堂课程【PHP 进阶教程-由浅入深掌握面向对象开发-第一阶段:封装数据库操作类(小结)】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/711/detail/12684
封装数据库操作类(小结)
主要内容
一、小结
一、小结
小结是为了如何映射到如何去封装类
1.类的封装是以功能驱动为前提,相关操作存放到一个类中
当前要做的封装 SQL 类是要实现数据库底层的操作(连接,认证,初始化,设置字符集),然后实现 SQL 的执行,执行分为增,删,改,查,按业务划分。其他的功能与本课无关。
如何写 SQL 是外部的事情,不关注 SQL ,本课只关注执行层面,这是我们学到的内容,因此会发现封装的类没有真正具体的业务关系,都是执行层面的关系,也没有写任何一条 SQL 指令,SQL 要做的都是外部传入的。
2.在写面向对象开发的类时,一个类通常是一个独立的文件,文件名与类名相同(方便后期维护和自动加载)
在真正的开发里是自动加载的。
3.类中如果有数据需要管理,设定属性,常量
观察数据是否需要变化,如果不变化设置常量,如果变化设置属性。
假如对所有对象都相同则设置静态属性,在本课中没有涉及到。
4.类中如果有功能需要实现(数据加工) , 设定方法
5.一个功能通常使用一个方法实现,所以方法的颗粒度应该尽可能小(方便复用)。
一个方法可以实现,但是做完后发现其他地方有类似的功能,或有部分功能需要从中重用代码,此时就说明封装不好,代码复用性不高。
6.应该尽可能增加类对成员的控制:即能私有尽可能私有
刚开始多处使用 public,但是发现地方不需要公有化,所以改 private。
7.类中需要实现的功能应该由具体的业务来实现支撑,并且和类的定性有关
(1)实用类:只考虑当前业务,不考虑扩展性和全面性(代码少,应用范围小,只针对本业务,但如果放入相同的业务中不能使用,因为业务稍微有一点性质不同,就不能使用)。
(2)工具类:全面综合考虑,尽可能多的封装可能存在的业务(代码多,应用范围广)将所有的业务都要包含进来,都要考虑进来,并且所有的操作都要考虑到细节和安全(尽可能的详尽)。该方法带来的问题就是代码多,但是应用范围广。
所以应该根据业务和需求选择工具类或者实用类。
具体的操作可根据封装 mysql 数据库类的操作按部就班的实现,就可以实现类的封装了。