10

可以在 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 应该可以在任何命名空间中使用。

有没有一种干净的方法可以在任何命名空间中重用一组固定属性?

4

0 回答 0