可以在 Alice 中描述夹具继承:
// template.yml
Nelmio\Entity\User:
user (template):
username: '<username()>'
age: '<numberBetween(1, 20)>'
--
include:
- template.yml
Nelmio\Entity\User:
user1 (extends user):
name: '<firstName()>'
lastname: '<lastName()>'
city: '<city()>'
age: '<numberBetween(1, 50)>'
如何定义可重用的属性集合(类似于 Traits)?
如果我希望能够定义一个具有两个属性的模板,例如
createdAt: <(new \DateTime('2016-01-01'))>
updatedAt: <(new \DateTime('2016-01-02'))>
然后在任何模板中使用它们而不必为每个实体重新定义这些属性?
我知道 Alice 支持多重继承。例如:
Nelmio\Entity\User:
user_bare (template):
username: '<username()>'
user_full (template, extends user_bare):
name: '<firstName()>'
lastname: '<lastName()>'
city: '<city()>'
然而,这似乎不是前进的方向,因为每个模板都必须在同一个命名空间 ( Nelmio\Entity\User
) 下定义,而 Traits 应该可以在任何命名空间中使用。
有没有一种干净的方法可以在任何命名空间中重用一组固定属性?