在 PHP 中,要實(shí)現(xiàn)鏈?zhǔn)秸{(diào)用,可以使用面向?qū)ο缶幊蹋∣OP)的方法。創(chuàng)建一個(gè)類并定義 replace 方法,然后在 replace 方法中返回當(dāng)前對(duì)象($this)以支持鏈?zhǔn)秸{(diào)用。這是一個(gè)簡單的示例:
class Replacer {
private $subject;
public function __construct($subject) {
$this->subject = $subject;
}
public function replace($search, $replace) {
$this->subject = str_replace($search, $replace, $this->subject);
return $this;
}
public function getResult() {
return $this->subject;
}
}
// 使用示例
$replacer = new Replacer('Hello, World!');
$result = $replacer->replace('World', 'PHP')->replace('!', '')->getResult();
echo $result; // 輸出 "Hello, PHP"
在這個(gè)示例中,我們創(chuàng)建了一個(gè)名為 Replacer
的類。它有一個(gè)私有屬性 $subject
,用于存儲(chǔ)要處理的字符串。構(gòu)造函數(shù)接受一個(gè)字符串作為參數(shù),并將其賦值給 $subject
。
replace
方法接受兩個(gè)參數(shù):$search
和 $replace
,分別表示要查找的子字符串和要替換的新子字符串。它使用 str_replace
函數(shù)替換 $subject
中的子字符串,并將結(jié)果存回 $subject
。然后返回當(dāng)前對(duì)象($this
),以便支持鏈?zhǔn)秸{(diào)用。
getResult
方法用于獲取處理后的字符串。在上面的示例中,我們創(chuàng)建了一個(gè) Replacer
對(duì)象,并通過鏈?zhǔn)秸{(diào)用 replace
方法來連續(xù)替換字符串中的子字符串。最后,我們使用 getResult
方法獲取處理后的字符串并輸出。