持久化 · 第 7 题,共 12 题

从数据库加载模型对象后,Extbase 会调用哪个方法,以便例如在其中初始化 ObjectStorage 属性?

有 1 个正确答案。 简单

显示答案

答案

  • A initializeObject()

解析

从数据库加载时,Extbase 不会调用构造函数:DataMapper 借助库 doctrine/instantiator 创建对象并直接设置值,然后调用 initializeObject()。因此建议:把 $this->speakers = new ObjectStorage(); 这类初始化放进 initializeObject(),并在构造函数中也调用这个方法——这样无论是 new Conference() 还是加载的对象,属性都已设置。只依赖构造函数是典型的陷阱。initializeAction() 属于控制器,在每个动作之前运行,而不是在加载模型时运行。

认证与考试

下一个考试是什么?

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

查看全部认证