課程
/后端開發
/PHP
/PHP-面向對象
我有個問題,突過trait A 有個屬性$a,trait B 也有屬性是$a,如果同時use A,b;就會報錯,有解決方案嗎?
2017-09-28
源自:PHP-面向對象 2-8
正在回答
官方文檔給出的解釋
解決沖突
<?php trait?PropertiesTrait?{ ????public?$same?=?true; ????public?$different?=?false; } class?PropertiesExample?{ ????use?PropertiesTrait; ????public?$same?=?true;?//?PHP?7.0.0?后沒問題,之前版本是?E_STRICT?提醒 ????public?$different?=?true;?//?致命錯誤 }
允許trait或者class中有相同的屬性,但必須是值相同.PHP7.0之前的版本會有E_STRICT 提醒,PHP7.0后不會有提醒
一旦多個trait或者class有相同屬性但值不相同PHP均會報出致命錯誤.
在使用trait定義屬性時盡量使用不同的屬性名稱
解決方案:修改屬性名稱或者相同屬性的值必須完全相似
怕是需要命名空間吧
舉報
從面相過程到面向對象,帶你深入理解面向對象編程思想,體驗編程的奧妙!
4 回答屬性加不加static有什么區別,不都是類的屬性嘛兒
2 回答static不是靜態屬性么?
1 回答_set _get是為未聲明的屬性設計的
1 回答在命名空間下的類,導入trait 如何實現單例模式實例化
1 回答實例化的問題
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-11-11
官方文檔給出的解釋
解決沖突
允許trait或者class中有相同的屬性,但必須是值相同.PHP7.0之前的版本會有E_STRICT 提醒,PHP7.0后不會有提醒
一旦多個trait或者class有相同屬性但值不相同PHP均會報出致命錯誤.
在使用trait定義屬性時盡量使用不同的屬性名稱
解決方案:修改屬性名稱或者相同屬性的值必須完全相似
2017-09-28
怕是需要命名空間吧