首頁  >  文章  >  後端開發  >  深入解析PHP trait

深入解析PHP trait

王林
王林轉載
2019-08-20 16:59:242810瀏覽

自PHP5.4.0起,PHP實作了一種程式碼重複使用的方法,稱為trait

眾所周知,PHP中是單繼承的,trait是為類似PHP的單繼承語言而準備得一種程式碼重複使用機制。 trait為了減少單一繼承語言的限制,使開發人員能夠自由地在不同層次結構內獨立的類別中重複使用method。 trait和class組合的語意定義了一種減少複雜性的方式,避免傳統多繼承問題。

traitclass相似,但只是用細粒度和一致的方式來組合功能。無法透過trait本身來實例化。它為傳統繼承增加了水平特性的組合;也就是說,應用的幾個class之間不需要繼承。

推薦PHP影片教學:https://www.php.cn/course/list/29/type/2.html

1、簡單的例子

首先我們舉個例子來介紹trait,和類別定義相似,但使用關鍵字trait定義。在類別中使用use組合。

t1(),'
'; echo $demo->test();

輸出結果:

t1

test

2、多個trait衝突解決

如果使用多個trait,但是出現了方法名稱相同,這就出現了衝突,就要手動指定使用哪個trait的方法,使用

insteadof

關鍵字實現。

t1(),'
'; echo $demo->test();

輸出結果:t1

test

#在衝突的時候,也可以使用use定義方法別名來解決衝突,範例如下:

t1(),'
'; echo $demo->new_t1(),'
'; echo $demo->test();

輸出結果:

t1

深入解析PHP traitt3

#test

3、改變存取權

############################ #####也可以使用###use###關鍵字來改變方法的存取權。 ###
t1(),'
'; echo $demo->t2(),'
'; echo $demo->test();
###輸出結果:###############上面知識介紹了一些常用的特性,詳細可參考官方手冊:#########https ://www.php.net/manual/zh/language.oop5.traits.php#############更多PHP相關問題可以存取PHP中文網:###https:// www.php.cn/#########謝謝! ###

以上是深入解析PHP trait的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:cnblogs.com。如有侵權,請聯絡admin@php.cn刪除