持久化 · 第 6 题,共 12 题

在 Extbase 模型中,保存多个关联对象(例如一场会议的所有演讲者)的属性应使用哪种类型?

有 1 个正确答案。 简单

显示答案

答案

  • A \TYPO3\CMS\Extbase\Persistence\ObjectStorage

解析

对于 1:n 和 m:n 关系,Extbase 使用 ObjectStorage 类,例如 protected ObjectStorage $speakers;,并为 IDE 和静态分析添加注解 @var ObjectStorage<Speaker>。通过 addSpeaker() 等方法添加条目,这些方法内部调用 attach(),用 detach() 移除。在模板中用 <f:for each="{conference.speakers}" as="speaker"> 遍历该关系。ObjectStorage 必须在访问前初始化,否则会出错。PHP 的 SplObjectStorage 看起来类似,但 Extbase 无法把关系加载到其中,也无法持久化对它的修改。

认证与考试

下一个考试是什么?

已有 19 项考试可以练习,21 项正在投票中。查看所有认证及官方信息,投出你的一票,或推荐你的考试。

查看全部认证