Day 17 : PHP - MySQLi的面向过程和面向对象是什麽?又该如何做选择?

如标题,这篇想和大家聊聊MySQLi的「面向过程」和「面向对象」是什麽
我当初在学这里时,这个问题困扰了我很久,因为我一直在想,用哪种写法写code比较好
那时还到处问人,幸好有找到教我网页的老师,成功解答我的疑惑


那现在来说说,这两者到底是什麽?

相信有学过如何连接资料库的人,在查相关教学时都有看过以下两张图的用法

这是「面向对象」的用法:
https://ithelp.ithome.com.tw/upload/images/20211001/20141088xSL9mCB1PF.png

这是「面向过程」的用法:
https://ithelp.ithome.com.tw/upload/images/20211001/20141088Obkerpa37u.png

那他们两者的差异在哪呢?

面向对象,顾名思义就是用「物件导向」的方式去撰写,所以它会用->的方式去指向对象
面向过程,可以直接用「函数」去撰写,因为这些函数都是人家先写好的,所以就可以直接套用

那就会有人问,使用「面向过程」听起来比使用「面向对象」方便,是不是用「面向过程」比较好?
不一定喔!如果你是会用物件导向的人,那你或许会觉得用「面向对象」比较好


那该选择哪一种写法去撰写code呢?

其实这没有绝对,全看你的个人习惯,使用你自己觉得「熟悉」的写法即可
你如果觉得直接套用函数比较方便,那你就用「面向过程」
如果你会物件导向,并且觉得用物件导向比较方便,那就用「面向对象」


不过我个人还是建议要「会」物件导向,因为PDO也是用物件导向的形式去撰写的
而且物件导向会使程序码更加简洁易维护可读性高可重复性也高

初学不一定要勉强自己要先学会「物件导向」,你也可以先学「面向过程」,把MySQLi的函数用法搞懂,再试着用物件导向的形式去改写

你也可以把「面向过程」和「面向对象」放在一起做使用,并没有规定一开始用「面向对象」连接资料库,後续就不能使用「面向过程」的语法


以上就是今天的介绍

希望大家看完後能对两者的差异更加了解


<<:  比尔盖兹的养鸡理论与台湾鸡农养鸡经验谈

>>:  Day 16 - UML x Interface — TextField

[day27] - Angular Component to Web Component

後来发现 , 之前说明了 Vue . React Component 如何变成 Web Compon...

[Day-03] - Spring Framework Introduction

Abstract 在Spring Framework尚未被开发出来时,Java EE是以 Sun公司...

MITRE Engenuity ATT&CK Evaluations 测试报告

才刚提到趋势科技去年在 MITRE Engenuity 的 ATT&CK Evaluatio...

[30天 Vue学好学满 DAY4] Vue-cli 基本架构

Vue-cli 专案基本架构 favicon.ico:仅用於 index.html index.ht...

D26 将config等等隐密资讯另外放置 - yaml

将重要资讯放到yaml内 config.yaml(放在BASE_DIR) --- email: EM...