iT邦幫忙

2021 iThome 鐵人賽

DAY 17
0
自我挑戰組

大二萌新的學習紀錄系列 第 17

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 : PHP - 如何在phpMyAdmin裡用SQL的語法做資料庫的查詢?
下一篇
Day 18 : PHP - 如何做出一個有CRUD功能的會員管理系統?
系列文
大二萌新的學習紀錄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言