5 mins read2022/07/27

WordPress 開發必須要懂的物件


什麼是物件?

在 WordPress 的世界裡面,任何東西都是物件

其實不只 WordPress ,在很多程式語言,包括現實世界,幾乎所有東西都可以用物件來描述

 

定義一個物件

在 php 中,經常用 class 來表示定義一個物件



class Car {
    // 裡面可以定義屬性和方法
}

舉例來說,你正在跟你朋友聊天,聊你最近買了台車

友:買什麼牌子的?型號?買多少

你:BMW,C300,100萬

友:買全新還二手的?

你:二手的

友:幾年的?跑幾公里?

你:2年新古車,才跑1萬公里

通過上面這段對話就很好描述了,你買的車子,這個物件

 

物件的屬性

從上面的對話,可以知道車子這個物件,有幾種屬性

例如:品牌、型號、新舊狀況、購買價格、年份、公里數等等…

你的屬性越齊全描述物件就越清楚

 

在 php 中,經常用這種方式來存取物件的屬性



// $car 把之前已經定義好的物件⭐實例化
$car = new Car();

// 這樣就是取得 $car 車子物件的 brand 品牌屬性
$car->brand;

再舉個例子,比如說你要跟你朋友描述你家的狗

友:什麼品種的?年紀?公的母的?

你:柴犬,2歲,公的

友:結紮過了嗎?咬人嗎?

你:沒有,會咬人

友:給牠食物她會聽我話坐下嗎?

你:應該會,你可以試試看

 

物件的方法

物件的方法,比較像是這個物件的行為

比如:你的狗,會咬人,但你的車不會咬人

所以你的狗,有咬人這個方法,但車子沒有,車子可能有啟動油門還有剎車等方法

再比如:你的狗,會坐下,但你的車不會坐下

所以你的狗,有坐下這個方法,但車子沒有

 

在 php 中,經常用這種方式來使用物件的方法



// 假設 $dog 是一個之前已經定義好的物件
// 這樣就是使用 $dog 狗狗物件的 bite 咬人方法
$dog->bite();

 

學這些物件有什麼用?

⭐ WordPress 還有 Woocommerce 已經幫你把很多車子、貓貓狗狗等物件都定義好了,你只需要知道怎麼去存取物件的屬性使用物件的方法就好

例如 WordPress 常見的有 $post$wpdb$user$term$comment 等等…

Woocmmerce 常見的有 $product, $coupon, $order 等等…

詳情可以參考官方文件

想更深入學習物件的使用,可以搜尋關鍵字 php 物件導向,或參考這篇鐵人賽

這些未來後續會再陸續介紹…

覺得不錯的話,請給我點個推薦

您的支持與鼓勵是我們前進的最大動力!