如果你去模型的基类,你将找不到任何get或set方法。
因为这些方法是“在空中”创造的。
这意味着什么,我怀疑它只是意味着它们是在需要的时候创造的。
我是对的吗?在基类中生成方法的方法有什么好处?
此致
哈维
答案 0 :(得分:1)
Doctrine使用PHP magic methods来实现get*()
和set*()
方法,因此它会检查以确保列存在,如果存在,则获取或设置相应的价值。
此外,Doctrine还将检查您是否已实现自己的个人get / set方法,例如getSurname()
,并优先使用此方法直接设置列值。
答案 1 :(得分:0)
richsage是正确的getXXX
和setXXX
方法是通过PHP的“魔法”__call
方法完成的,但是Doctrine并不是在做魔术。 sfDoctrineRecord::__call
将$record->getName()
之类的调用转换为$record->get('name')
。