Edit report at https://bugs.php.net/bug.php?id=63911&edit=1
ID: 63911 Comment by: necktrox at gmail dot com Reported by: bitluni at bitluni dot net Summary: Ignore conflicting trait methods originationg from identical sub traits Status: Open Type: Feature/Change Request Package: Class/Object related Operating System: debian PHP Version: 5.4.10 Block user comment: N Private report: N New Comment: # from http://php.net/manual/de/language.oop5.traits.php trait A { public function smallTalk() { echo 'a'; } public function bigTalk() { echo 'A'; } } trait B { public function smallTalk() { echo 'b'; } public function bigTalk() { echo 'B'; } } class Talker { use A, B { B::smallTalk insteadof A; A::bigTalk insteadof B; } } Previous Comments: ------------------------------------------------------------------------ [2013-01-05 18:39:11] bitluni at bitluni dot net same issue for properties ------------------------------------------------------------------------ [2013-01-05 18:27:56] bitluni at bitluni dot net Description: ------------ When extracting traits I would like to extract some general functions into sub traits and 'use' them in the traits where needed. But when I compose a class out of multiple traits with sub traits I have to do obsolete statements regardless if the colliding methods originate from same sub trait. Just add a check if a method collides with itself Test script: --------------- trait A { public function a(){} } trait B { use A; } trait C { use A; } class D { use B, C; } Actual result: -------------- Fatal error: Trait method a has not been applied, because there are collisions with other trait methods on D in ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=63911&edit=1