什麼是trait?
自 PHP 5.4.0 起,PHP 實現了一種代碼複用的方法,稱爲 trait。
class Article
{
public function owner()
{
var_dump('this thing has owner');
}
}
class Comment
{
public function owner()
{
var_dump('this thing has owner');
}
}
Trait 爲了減少單繼承語言的限制,使開發人員能夠自由地在不同層次結構內獨立的類中複用 method。從而引入了trait。
trait OwnerTrait
{
public function owner()
{
var_dump('this thing has owner');
}
}
class Article
{
use OwnerTrait;
}
class Comment
{
use OwnerTrait;
}
(new Article())->owner();
trait爲我們帶來了什麼?
- 代碼複用
- 在別人的代碼(舊代碼)中插入自己的代碼