【PHP之Traits】
1、Traits基礎
2、優先級:當前類中的方法會覆蓋 Trait 方法,而Trait方法覆蓋了基類中的方法。
3、多個Traits,使用use聲明列出多個Traits。
4、沖突的解決:為了解決兩個 Traits 在同一個類中的命名沖突,需要使用 insteadof 操作符來明確指定沖突方法中的一個。由於這僅允許排除一個方法,as 操作符可以將沖突的方法以另一個名稱來引入。
5、修改方法可見性:使用的類可以通過 as 語法來調整方法的可見性
6、Traits組:其他 traits 也能夠使用 traits,正如類能夠使用 traits。 在 trait 定義時通過使用一個或多個 trait,它能夠組合其他 traits 中的部分或全部成員。
7、抽象成員:為了對使用的類施加強制要求,Trait 支持抽象方法的使用。
8、Traits靜態成員:靜態變量可以被 trait 的方法引用,但不能被 trait 定義。但是 traits 能夠為使用的類定義靜態方法。
9、屬性:如果 trait 定義了一個屬性,那類將不能定義同樣名稱的屬性,否則會產生一個錯誤。 如果類的定義是兼容的(同樣的可見性和初始值)則錯誤的級別是 E_STRICT
,否則是一個致命錯誤。