私はsymfony1.4を使用しており、認証用のツールとしてsfDoctrineGuardPluginを使用しています。
テーブルに保存するために、ユーザーのIDを取得したいと思います。
ちょっとした調査の後、私はその表現を使わなければならないと思います:getUser()->getGuardUser()->getId()
。
私が探しているのは、その表現をターゲットに投資する方法です。
ユーザーが認証されている場合は、はい、次を使用できます。
// inside an action
$id = $this->getUser()->getGuardUser()->getId();
// inside a template
$id = $sf_user->getGuardUser()->getId();
ユーザーが認証されていない場合、エラーがスローされます。
あなたが呼んでいる場所に依存します。
'ビュー'から:
echo $sf_user->getAttribute('user_id', null, 'sfGuardSecurityUser' );
echo $sf_user->getUsername();
'コントローラー'から(上記のトムが述べたように):
echo $this->getUser()->getGuardUser()->getId();
echo $this->getUser()->getGuardUser()->getUsername();
(最初の行は「id」、2番目の行は「username」です)