0

我正在使用 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:

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

4

1 回答 1

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
于 2013-04-21T02:20:34.863 回答