2
在php中,traits具有一些像界面和抽象類一樣的特性,並且特性也有助於繼承。任何關於特質,接口,抽象類和接口的真實世界示例或討論。php中的特質 - 任何真實世界中的例子
在php中,traits具有一些像界面和抽象類一樣的特性,並且特性也有助於繼承。任何關於特質,接口,抽象類和接口的真實世界示例或討論。php中的特質 - 任何真實世界中的例子
假設有2個類別:Mailer
和Writer
。
Mailer
通過郵件發送一些文本,Writer
在文件中寫入文本。
現在想象你想要格式化兩個類使用的輸入文本。
這兩個類都會使用相同的邏輯。
Mailer
和Writer
類已經擴展了一些類,這將會成爲一個問題。所以你使用特質
例子:
trait Formatter
{
public function format($data)
{
// Do some stuff
return $data;
}
}
class Mailer
{
use Formatter;
public function send($data)
{
$data = $this->format($data);
// Send your mail
}
}
class Writer
{
use Formatter;
public function write($data)
{
$data = $this->format($data);
// Write in file
}
}
在PHP中,特徵是像 '迷你班'。
嗨,你明白了嗎? – Max
[Traits in PHP中的可能的重複 - 任何現實世界的例子/最佳實踐?](http://stackoverflow.com/questions/7892749/traits-in-php-any-real-world-examples-best-practices) – sepehr