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