Req #61943 [Fbk->Csd]: Trait same property conflict in class extending

From: Date: Wed, 10 Jun 2015 07:06:34 +0000
Subject: Req #61943 [Fbk->Csd]: Trait same property conflict in class extending
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-193273@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=61943&edit=1

 ID:                 61943
 User updated by:    franssen dot roland at gmail dot com
 Reported by:        franssen dot roland at gmail dot com
 Summary:            Trait same property conflict in class extending
-Status:             Feedback
+Status:             Closed
 Type:               Feature/Change Request
 Package:            Scripting Engine problem
 Operating System:   Ubuntu
 PHP Version:        5.4.2
 Assigned To:        gron
 Block user comment: N
 Private report:     N

 New Comment:

Yes.


Previous Comments:
------------------------------------------------------------------------
[2015-06-09 14:18:48] cmb@php.net

So it seems this request can be closed?

------------------------------------------------------------------------
[2012-05-05 11:57:29] franssen dot roland at gmail dot com

E.g. something like;

<?php
trait A { }
trait B { }
class Foo { use A; }
class Bar extends Foo { use B; }

------------------------------------------------------------------------
[2012-05-05 11:50:41] franssen dot roland at gmail dot com

Also i did'nt read your comment well, especially the "semantical difference" part..
;-)

------------------------------------------------------------------------
[2012-05-05 11:46:06] franssen dot roland at gmail dot com

I cheered to soon :-) now Bar has 2 individual property definitions (makes sense ofcourse), so this
doesn't solve my architecture problem.

We can debat on if the architecture is a code smell or not, but i can understand i'm overusing
traits here. Traits are simply not suitable for this.

I'll revise it so that the traits complement each other, rather than "extending" each
other.

------------------------------------------------------------------------
[2012-05-05 09:35:59] franssen dot roland at gmail dot com

Of course.. private visibility.. you sir, are a genius :')

I get away with this since the trait is mainly for accessors only.

However, i have this (personal) convention to use protected properties with accessors, mainly
pragmatic reasons (overriding default values by defintion). I think i'll need to revise my
conventions for private properties usage, perhaps the strict way.

http://fabien.potencier.org/article/47/pragmatism-over-theory-protected-vs-private

------------------------------------------------------------------------


The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

    https://bugs.php.net/bug.php?id=61943


--
Edit this bug report at https://bugs.php.net/bug.php?id=61943&edit=1


Thread (10 messages)

« previous php.bugs (#193273) next »