如何使用PHP對(duì)象POPO來(lái)優(yōu)化你的代碼
我們有如下的問(wèn)題
1.那么在另一種編程語(yǔ)言中 POJO 的名字是什么呢?
關(guān)于普通舊對(duì)象的約定是 “普通舊編程語(yǔ)言對(duì)象”。如果你在 Ruby 上,你可以調(diào)用 PORO(普通舊 Ruby 對(duì)象),也許 Rubyist 已經(jīng)知道了。如果是在 PHP 中,則被稱為 POPO(普通舊 PHP 對(duì)象)。如果每種語(yǔ)言都有一個(gè)類,那么它們都可以實(shí)現(xiàn)普通的舊對(duì)象。
2.為什么在現(xiàn)代 PHP 編程中使用 POPO ?
POPO 可以指導(dǎo)我們了解數(shù)據(jù)結(jié)構(gòu),并讓我們清楚地了解對(duì)象上的數(shù)據(jù)類型。 你可以在 POPO 中創(chuàng)建 DTO(數(shù)據(jù)傳輸對(duì)象),例如:“toArray ()”,“castToClass ()”,“toJSON ()” 之類的。所以數(shù)據(jù)或值不是在變量中,而是在基于類對(duì)象的。它可以為你提供關(guān)于如何從對(duì)象 A 到對(duì)象 B 進(jìn)行通信的標(biāo)準(zhǔn)化。 給你更少的函數(shù)參數(shù),你只需通過(guò) POPO 類。在現(xiàn)代的 PHP 編程 web 應(yīng)用程序中,我們經(jīng)常使用 MVC(模型、視圖、控制器),它會(huì)經(jīng)常與每個(gè)對(duì)象通信。從控制器到 service,控制器從 service 獲取數(shù)據(jù)返回,并返回到視圖。有了 POPO,我們可以更好地與每個(gè)對(duì)象通信。
3.如何在 PHP 編程中定義 POPO?
你可以通過(guò)定義什么類、什么屬性來(lái)使用 POPO?POPO 應(yīng)該有 setter 和 getter。首先定義類,食品有屬性名、價(jià)格、數(shù)量和總價(jià)。然后我們可以通過(guò)食品 POPO 上的 setter 函數(shù)來(lái)設(shè)置值。如果我們想把它轉(zhuǎn)換成 JSON,我們可以調(diào)用 “toJSON ()” 函數(shù)等。你可以根據(jù)自己的需要開(kāi)發(fā)。例如:

4.如何在現(xiàn)代 PHP 編程中實(shí)現(xiàn) POPO ?
你可以通過(guò)創(chuàng)建新的 POPO 來(lái)啟動(dòng)它。在上面的例子中,我們可以用 php 語(yǔ)法調(diào)用 “new Food ()”。
例 1 (簡(jiǎn)單 Controller):

在例 1 中,我們使用 toArray () 與 Model 通信。
示例 2 (Controller, Service and Model):

我們將類對(duì)象傳遞給 service

我們使用 toArray () 來(lái)與 Model 通信。
在下面的 food 服務(wù)中,沒(méi)有 POPO 函數(shù)使他看起來(lái)不可維護(hù),太多參數(shù)了。

結(jié)論
這是現(xiàn)代 PHP 中的一個(gè)快速實(shí)現(xiàn)。你可以使用 POPO 簡(jiǎn)化你的參數(shù)函數(shù),你可以得到更好地通信每個(gè)對(duì)象或類。
以上就是如何使用PHP對(duì)象POPO來(lái)優(yōu)化你的代碼的詳細(xì)內(nèi)容,更多關(guān)于使用PHP對(duì)象POPO來(lái)優(yōu)化你的代碼的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
讓Nginx支持ThinkPHP的URL重寫和PATHINFO的方法分享
ThinkPHP支持通過(guò)PATHINFO和URL rewrite的方式來(lái)提供友好的URL,只需要在配置文件中設(shè)置 'URL_MODEL' => 2 即可。在Apache下只需要開(kāi)啟mod_rewrite模塊就可以正常訪問(wèn)了,但是Nginx中默認(rèn)是不支持PATHINFO的,所以我們需要修改nginx.conf文件。2011-08-08
php數(shù)組索引的Key加引號(hào)和不加引號(hào)的區(qū)別
這篇文章主要介紹了php數(shù)組索引的Key加引號(hào)和不加引號(hào)的區(qū)別,加引號(hào)和不加引號(hào)是有嚴(yán)重的區(qū)別的,需要的朋友可以參考下2014-08-08
PHP計(jì)劃任務(wù)之關(guān)閉瀏覽器后仍然繼續(xù)執(zhí)行的函數(shù)
通過(guò)使用ignore_user_abort函數(shù)的特性,實(shí)現(xiàn)PHP計(jì)劃任務(wù),需要的朋友可以參考下。2010-07-07
php查詢mysql數(shù)據(jù)庫(kù)并將結(jié)果保存到數(shù)組的方法
這篇文章主要介紹了php查詢mysql數(shù)據(jù)庫(kù)并將結(jié)果保存到數(shù)組的方法,實(shí)例分析了php使用mysql_fetch_assoc查詢數(shù)據(jù)庫(kù)的技巧,需要的朋友可以參考下2015-03-03
PHP頁(yè)面轉(zhuǎn)UTF-8中文編碼亂碼的解決辦法
這篇文章主要介紹了php中uft-8中文編碼亂碼的解決辦法,需要的朋友可以參考下2015-10-10
php 編寫安全的代碼時(shí)容易犯的錯(cuò)誤小結(jié)
PHP是個(gè)偉大的web開(kāi)發(fā)語(yǔ)言,靈活的語(yǔ)言,但是看到php程序員周而復(fù)始的犯的一些錯(cuò)誤。我做了下面這個(gè)列表,列出了PHP程序員經(jīng)常犯的10中錯(cuò)誤,大多數(shù)和安全相關(guān)??纯茨惴噶藥追N2010-05-05

