获取 Doctrine 实体列表(UI 人口、访问权限等)
Getting a list of Doctrine Entities (UI population, access rights, etc.)
我正在尝试了解 Doctrine Entities 及其继承模型。这是我想要一些建议的情况;我有一个基础 class Box
,并且根据应用程序,其他几个 classes 可以扩展 Box
class (STI),例如:TextBox
、ImageBox
、SliderBox
等。PortraitBox
可以扩展 ImageBox
,等等。
获取所有 class 扩展 Box
的列表(以自动方式)的最佳方法是什么?例如,如果应用程序的用户需要选择要创建的 Box,或者管理员需要选择某些用户应可编辑的所有 Box,等等。
如果 UI 填充,是否有替代方法来使用 class 个名称填充 UI 元素?
我建议您在配置文件 中定义所有可能的值。有了它,您就不必实施复杂的自动发现,只要需求发生变化,自动发现就会失败,您甚至可以提供额外的信息。考虑这个例子:
boxes.yml
boxes:
text:
class: "My\FQCN\To\TextBox"
displayName: "Text Box"
editableBy: ["admin", "editor"]
image:
class: "My\FQCN\To\ImageBox"
displayName: "Image Box"
editableBy: ["admin", "photographer"]
...
现在,您只需实施域逻辑,以便您的应用程序理解配置文件。并且不要忘记在某处记录不同的配置可能性。
如果您需要动态访问控制,可以:使用二级标识符(例如 text
或 image
)作为键来识别数据库中的框并分配权限.这些是唯一的内部名称,与 UI 和实际实施无关。
我正在尝试了解 Doctrine Entities 及其继承模型。这是我想要一些建议的情况;我有一个基础 class Box
,并且根据应用程序,其他几个 classes 可以扩展 Box
class (STI),例如:TextBox
、ImageBox
、SliderBox
等。PortraitBox
可以扩展 ImageBox
,等等。
获取所有 class 扩展 Box
的列表(以自动方式)的最佳方法是什么?例如,如果应用程序的用户需要选择要创建的 Box,或者管理员需要选择某些用户应可编辑的所有 Box,等等。
如果 UI 填充,是否有替代方法来使用 class 个名称填充 UI 元素?
我建议您在配置文件 中定义所有可能的值。有了它,您就不必实施复杂的自动发现,只要需求发生变化,自动发现就会失败,您甚至可以提供额外的信息。考虑这个例子:
boxes.yml
boxes:
text:
class: "My\FQCN\To\TextBox"
displayName: "Text Box"
editableBy: ["admin", "editor"]
image:
class: "My\FQCN\To\ImageBox"
displayName: "Image Box"
editableBy: ["admin", "photographer"]
...
现在,您只需实施域逻辑,以便您的应用程序理解配置文件。并且不要忘记在某处记录不同的配置可能性。
如果您需要动态访问控制,可以:使用二级标识符(例如 text
或 image
)作为键来识别数据库中的框并分配权限.这些是唯一的内部名称,与 UI 和实际实施无关。