封装 PDO(封装说明)|学习笔记

简介: 快速学习封装 PDO(封装说明)

开发者学堂课程【PHP 进阶教程-由浅入深掌握面向对象开发-第三阶段封装 PDO(封装说明)】学习笔记,与课程紧密联系,让用户快速学习知识。  

课程地址:https://developer.aliyun.com/learning/course/713/detail/12743


封装 PDO(封装说明)


内容介绍:

一.概念

二.步骤


发现如果要在项目里面pdo凡是要初始化的地方,都要去new对应的bdo。操作起来肯定不方便,因此需要对它进行一个二次封装,本节的目标就是理解,外部或者系统类的优缺点,知道存在什么优点,缺点又是什么,通常外部的类都会有一些缺点,在使用时需要频繁的实例化,频繁的去使用,在思考开发时要怎么去使用的时候,要考虑用起来是否方便,如果不方便,就应该对已有类进行一个二次封装,变成系统里面用起来方便的一种模式二次封装不是在原代码的情况下去修改,而是针对需要的东西,将其的一些实现变成自己的类,基于此来进行访问。

目标:理解外部或者系统类的优缺点,思考自己开发时要如何使用,对已有类可以进行二次封装


一.概念

封装PDO:即对PDO进行二次封装,从而让原本多处需要使用PDO的地方,能够直接使用二次封装的类,简化数据库操作。

1.PDQ类要使用的话每次都需要进行初始化操作,而且不够灵活

数据每次都需要写死

2.PDO类要进行某些操作的时候,需要进行较多步骤实现

比如查询。需要执行,执行后进行判定错误,判定完错误后再去进行Fetch取出数据,较麻烦。

3.PDO类默认不是异常处理


二.使用静默模式(出错无法知晓)尤其是在开发阶段使用到最后将其变成静默模式。


三.步骤

1、明确PDO需要封装的内容

(1)PDO的实例化:得到PDO对象,而且PDO对象需要在不同的方法中使用,可以考虑将PDQ得到的对象保存在属性中。

(2)写操作:包含普通SQL执行返回受影响行和获取自增长ID

(需要此功能)

(3)查操作:包含单行查询和多行查询

(如何封装。获取一条多条分开,获取多条进行参数控制)

(4)隐藏操作:异常处理的封装(封装用于后续调用即可)

(5)其他操作:根据实际需求增加对应功能即可

2、使用命名空间方便使用

比如是否在项目中进行事故处理,是否用到预处理来处理,是否要对外增加一些可操作的设置,某些属性,修改,如果需要增加就可以完成。

二次封装需要做的事情已全部列出,后续实现。

相关文章
|
数据采集 运维 数据管理
数据管理能力成熟度模型
为促进大数据产业持续深入发展,提高政府、企事业单位大数据资产管理意识,借鉴国内外成熟度相关理论思想,结合数据生命周期管理各个阶段的特征,对数据管理能力进行了分析、总结,提炼出组织数据管理的八大过程域,并对每项能力进行了二级过程域和发展等级的划分以及相关功能介绍和评定标准的制定。
1141 1
|
负载均衡 算法 应用服务中间件
Nginx系列教程(08) - Upstream Server 负载均衡
Nginx系列教程(08) - Upstream Server 负载均衡
1114 0
|
算法 程序员 Go
[软件工程导论(第六版)]第6章 详细设计(复习笔记)
[软件工程导论(第六版)]第6章 详细设计(复习笔记)
|
消息中间件 安全 API
记项目的一次发送短信及短信模板配置分享
我们日常使用的软件或者网站,大部分都在使用短信业务,比如 注册 、 验证码功能 。还有一些特定的业务需要发送短信通知国内外用户等。有了需求就会有平台提供服务,国内有很多互联网公司都提供短信业务,比如阿里云、腾讯云、七牛。本次我们主要讲解的是阿里云提供的短信服务。
记项目的一次发送短信及短信模板配置分享
|
12月前
|
编解码 物联网 API
"揭秘SD文生图的神秘面纱:从选择模型到生成图像,一键解锁你的创意图像世界,你敢来挑战吗?"
【10月更文挑战第14天】Stable Diffusion(SD)文生图功能让用户通过文字描述生成复杂图像。过程包括:选择合适的SD模型(如二次元、2.5D、写实等),编写精准的提示词(正向和反向提示词),设置参数(迭代步数、采样方法、分辨率等),并调用API生成图像。示例代码展示了如何使用Python实现这一过程。
531 4
|
12月前
|
机器学习/深度学习 人工智能 监控
深入理解深度学习中的卷积神经网络(CNN):从原理到实践
【10月更文挑战第14天】深入理解深度学习中的卷积神经网络(CNN):从原理到实践
685 1
|
监控 分布式数据库 API
数据传输DTS同步问题之遇到错误如何解决
数据传输服务(DTS)是一项专注于数据迁移和同步的云服务,在使用过程中可能遇到多种问题,本合集精选常见的DTS数据传输问题及其答疑解惑,以助用户顺利实现数据流转。
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的学生宿舍管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的学生宿舍管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
235 0
|
C++ iOS开发 MacOS
常用的 VSCode 快捷键【大全】,提升你的编码速度
常用的 VSCode 快捷键【大全】,提升你的编码速度
常用的 VSCode 快捷键【大全】,提升你的编码速度
|
JavaScript Java 数据库
Vue+SpringBoot+ElementUi+mybatis-plus 实现用户信息的修改及模拟充值
这篇文章展示了如何使用Vue结合SpringBoot、ElementUI和mybatis-plus实现用户信息的修改以及模拟充值的功能。文章首先介绍了模拟充值的过程,包括充值前后的账户余额和数据库信息的截图。然后,文章展示了用户信息修改前后的界面和数据库信息。核心代码部分演示了如何使用mybatis-plus轻松实现用户信息的修改操作,同时指出了异常处理和代码组织的最佳实践。