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

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

咱們有以下的問題:

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

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

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

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):spa

 

 

 

在例 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架構師教程目錄大全,只要你看完保證薪資上升一個臺階(持續更新)

相關文章
相關標籤/搜索