访问模型中的Symfony用户会话(Doctrine)

Dan*_*ndy 4 model-view-controller doctrine symfony1 model symfony-1.4

如何在Doctrine的模型中访问Symfony的当前用户会话?

我知道的两种方法是将它从模型中的sfContext中拉出来:

sfContext::getInstance()->getUser()->getCanSwim();
Run Code Online (Sandbox Code Playgroud)

或者,将sfUser实例(或片段)直接从控制器传递给模型:

UserTable::goSwimming($sf_user->can_swim);
Run Code Online (Sandbox Code Playgroud)

但是,这些方法中的任何一种方法都比其他方法更好,还是这不是正确的方法呢?