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