如何使用簡單 PHP 對象 POPO (Plain old PHP Object) 來優化你的代碼

如果您熟悉 Java,可能您已經知道 POJO (普通 Java 類). 因爲 POJO 這個詞最早是由 Martin Fowler、Rebecca Parsons 和 Josh MacKenzie 於 2000 年在 Java 編程語言上創造的。 POJO 使我們更容易理解類對象中的數據結構類型。

我們有如下的問題:

  1. POJO 在另一種編程語言中的名稱是什麼?
  2. 爲什麼在現代 PHP 編程中使用 POPO?
  3. 如何在現代 php 編程中製作 POPO?
  4. 如何在現代 PHP 編程中實現 POPO?

1.那麼在另一種編程語言中 POJO 的名字是什麼呢?

關於普通舊對象的約定是 “普通舊編程語言對象”。如果你在 Ruby 上,你可以調用 PORO(普通舊 Ruby 對象),也許 Rubyist 已經知道了。如果是在 PHP 中,則被稱爲 POPO(普通舊 PHP 對象)。如果每種語言都有一個類,那麼它們都可以實現普通的舊對象。

2爲什麼在現代 PHP 編程中使用 POPO ?

POPO 可以指導我們瞭解數據結構,並讓我們清楚地瞭解對象上的數據類型。 你可以在 POPO 中創建 DTO(數據傳輸對象),例如:“toArray ()”,“castToClass ()”,“toJSON ()” 之類的。所以數據或值不是在變量中,而是在基於類對象的。它可以爲你提供關於如何從對象 A 到對象 B 進行通信的標準化。 給你更少的函數參數,你只需通過 POPO 類。在現代的 PHP 編程 web 應用程序中,我們經常使用 MVC(模型、視圖、控制器),它會經常與每個對象通信。從控制器到 service,控制器從 service 獲取數據返回,並返回到視圖。有了 POPO,我們可以更好地與每個對象通信。

3.如何在 PHP 編程中定義 POPO?

你可以通過定義什麼類、什麼屬性來使用 POPO?POPO 應該有 setter 和 getter。首先定義類,食品有屬性名、價格、數量和總價。然後我們可以通過食品 POPO 上的 setter 函數來設置值。如果我們想把它轉換成 JSON,我們

  1. 可以調用 “toJSON ()” 函數等。你可以根據自己的需要開發。例如:

 

 

 

 

4.如何在現代 PHP 編程中實現 POPO ?

你可以通過創建新的 POPO 來啓動它。在上面的例子中,我們可以用 php 語法調用 “new Food ()”。

 

例 1 (簡單 Controller):

 

 

 

在例 1 中,我們使用 toArray () 與 Model 通信。

示例 2 (Controller, Service and Model):

 

 

 

我們將類對象傳遞給 service

 

 

 

我們使用 toArray () 來與 Model 通信。

在下面的 food 服務中,沒有 POPO 函數使他看起來不可維護,太多參數了。

 

 

 

結論

這是現代 PHP 中的一個快速實現。你可以使用 POPO 簡化你的參數函數,你可以得到更好地通信每個對象或類。

參考

  1. Plain old Java Object
  2. Data Transfer Object

 

更多學習內容請訪問:

騰訊T3-T4標準精品PHP架構師教程目錄大全,只要你看完保證薪資上升一個臺階(持續更新)

以上內容希望幫助到大家,很多PHPer在進階的時候總會遇到一些問題和瓶頸,業務代碼寫多了沒有方向感,不知道該從那裏入手去提升,對此我整理了一些資料,包括但不限於:分佈式架構、高可擴展、高性能、高併發、服務器性能調優、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql優化、shell腳本、Docker、微服務、Nginx等多個知識點高級進階乾貨需要的可以免費分享給大家,需要的可以加入我的官方羣點擊此處

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章