Hello,
why, what do you add in the artifact definition ?
class SomeClass {
@use
....
}
and on the class I define a property with that name and type "use SomeTrait;"
I do not understand, how a generalization can produce a use into a class definition ?
I model it as a generalization since using traits in PHP it's kinda like having multiple inheritance, maybe i'm wrong with this.
A trait definition can be modeled through a class just replacing "class" by "trait" in its php definition.
This I do it right
The use form into the other classes can be modeled through a directional relation modifying its php definition to be "use ${type};" for instance.
This is way better than the @use I'm doing now XD.
The thing is, unless you add type a stereotype on those relations, or a stereotype on the class you are changing to trait on the php definition, when you are looking it on a bouml's class diagram it's shown like a regular relation and a regular class and you can't tell that it's a trait.
My thought was, if you stereotype a class as an interface, it's shown on the diagrams as an interface, produces a interface on the code and when you add a realisation to that interface it also produces the "implements" that interface; so, why not stereotype a class to trait and that bouml do "the same" there.
It's not that i'm lazy or that you can't resolve the PHP's trait feature with bouml (it's easier with your tips), it's just that would be nice if it's out of the box

Thanks!
Federico.