php
1trait traitA 2{ 3 public function test() 4 { 5 $this->dumpTest(); 6 } 7 8 private function dumpTest() { 9 dump("traitA dump"); 10 } 11} 12 13class MainClass 14{ 15 use traitA; 16 17 private function dumpTest() { 18 dump("MainClass dump"); 19 } 20} 21 22$mainClass = new MainClass(); 23$mainClass->test()
上記のコードなのですが、trait先のMainClassに同じメソッドがあるとMainClassのメソッド(dumpTest)が利用されます。
理想としてましては、同じメソッドが衝突してる時点でエラーを出したいのですが可能でしょうか。
エラー発生せずに、MainClassが優先利用されてしまうと、
利用されているtraitのメソッドの存在に気が付かず、
MainClassに同じメソッドを作ってしまう可能性が怖いです。
お時間ありましたらご回答お願いします。
回答2件
あなたの回答
tips
プレビュー