我正在使用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:
我发现这段代码工作得很好,是相同的模板,它给我一个错误!
答案 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