在本文档中,它解释了如何在 Doctrine 中使用 mutators 和 accessors,但没有解释它们是什么。
谁能解释一下变异器和访问器的作用以及它们是什么?
提前致谢。
您可以使用 mutators 和 accessors 为模型的字段实现其他行为。基本上,它们将价值从一种形式转换为另一种形式。例如,如果您查看 Doctrine 的文档,他们会指定一个 md5Password mutator。Mutator 意味着每当你为字段设置值时,Doctrine 都会调用指定的 mutator 方法。所以每当你这样做:
$user->password = 'foobar';
Doctrine 将调用模型的 md5Password(),从而将 'foobar' 转换为 md5('foobar')。简而言之,这可确保密码始终在软件级别进行哈希处理。
Accessor 是 mutator 的反义词;它会在字段被读取而不是被设置时被调用(例如,当从数据库中读取一行时)。