$ sf_user-> getGuardUser()不起作用

时间:2013-04-21 00:54:54

标签: symfony1 symfony-1.4

我正在使用sf1.4开发一个项目,我将此代码放在模板中:

<p class="welcome"><?php echo $sf_user->getGuardUser()->getProfile()->getFirstName().' '.$sf_user->getGuardUser()->getProfile()->getLastName()?></p>
<p class="logout"><a href="<?php echo url_for("@sf_guard_signout"); ?>
">Log Out</a></p>

点击$sf_user->getGuardUser()时,Logout似乎无法正常工作,我发现此错误:

 Fatal error: Call to a member function getProfile() on a non-object in...on line 3

编辑:

在apps / myapp / config / app.yml中,我添加:

all:
  sf_guard_plugin:
    profile_class:      sfGuardUserProfile
    profile_field_name: user_id

编辑2:

我发现这段代码工作得很好,是相同的模板,它给我一个错误!

1 个答案:

答案 0 :(得分:1)

如果查看sfGuardUser对象的getProfile()方法,您会看到它检查app.yml文件中的默认Profile类:

$profileClass = sfConfig::get('app_sf_guard_plugin_profile_class', 'defaultClassName');

所以请确保你的app.yml

中有这些信息
// apps\myApp\config\app.yml
sf_guard_plugin:
   profile_class: MyProfileClassName