Symfony:关于基本模型类的get和set方法的问题

时间:2010-07-01 12:33:54

标签: model symfony1

如果你去模型的基类,你将找不到任何get或set方法。

因为这些方法是“在空中”创造的。

这意味着什么,我怀疑它只是意味着它们是在需要的时候创造的。

我是对的吗?在基类中生成方法的方法有什么好处?

此致

哈维

2 个答案:

答案 0 :(得分:1)

Doctrine使用PHP magic methods来实现get*()set*()方法,因此它会检查以确保列存在,如果存在,则获取或设置相应的价值。

此外,Doctrine还将检查您是否已实现自己的个人get / set方法,例如getSurname(),并优先使用此方法直接设置列值。

答案 1 :(得分:0)

richsage是正确的getXXXsetXXX方法是通过PHP的“魔法”__call方法完成的,但是Doctrine并不是在做魔术。 sfDoctrineRecord::__call$record->getName()之类的调用转换为$record->get('name')