前言
優雅的程式碼可以讓人看著身心愉悅,所以開發規範是很重要的一關,如果滿螢幕的過程式程式碼,那隨著時間流逝,在想閱讀這段程式碼這將是一場災難。
這次來建立一個簡單的 PHP
鏈式物件,來提高程式碼的可讀性和規範性。
你可以使用鏈式 API 來建立物件。使用單獨的方法呼叫來逐漸新增資料,正是因為每個方法都返回 $this
,你可以在任意一次呼叫後讓整個流程停下來。
接下來,我們建立一個最簡單的 AbstractCalc
鏈式物件來計算數值。
建立 AbstractCalc
class AbstractCalc
{
private int $number;
public function __construct($number)
{
$this->number = $number;
}
/**
* 加法計算
* @param int $number
* @return $this
*/
public function plus(int $number): self
{
$this->number += $number;
return $this;
}
/**
* 減法計算
* @param int $number
* @return $this
*/
public function reduce(int $number): self
{
$this->number -= $number;
return $this;
}
/**
* 乘法計算
* @param int $number
* @return $this
*/
public function multiply(int $number): self
{
$this->number *= $number;
return $this;
}
/**
* 除法計算
* @param int $number
* @return $this
*/
public function div(int $number): self
{
$this->number /= $number;
return $this;
}
/**
* 獲取結果
* @return int
*/
public function get(): int
{
return $this->number;
}
}
使用
// 初始化數值為10
$abstractCalc = new AbstractCalc(10);
$result = $abstractCalc->plus(10)
->reduce(5)
->multiply(2)
->div(5)
->get();
dd($result);
// 結果為
// 6
結尾
以上就是一個最簡單的流式物件的建立,我們還可以做更多複雜的操作,類似於 ORM
操作
本作品採用《CC 協議》,轉載必須註明作者和本文連結