[英]Symfony2 & Twig, getting user variable
在Twig中获取用户变量时遇到问题。 当我做var_dump(app.user)时,我得到以下信息:
object(App\Bundle\CoreBundle\Entity\Employee)[1233]
protected 'id' => int 1
private 'group' => int 0
protected 'fullName' => string 'Daniel Mensing' (length=14)
protected 'username' => string 'dm' (length=2)
protected 'usernameCanonical' => string 'dm' (length=2)
我添加了“ fullName”,它不是FOSUSerbundle的一部分。
现在,当我尝试在树枝中输出新变量(fullName)时,它告诉我它不存在(??)标准变量起初很好用(用户名,电子邮件..),我认为这是因为我做了fullName私人的,但在受保护时都不起作用。 同样在vardump中,它们看起来完全一样
我正在这样输出变量: {{ app.user.username }}
或{{ app.user.fullName }}
任何人都可以指出正确的方向吗? 或帮助解释我在做什么错。 任何帮助都非常感谢:-)谢谢
在Twig中,您可以通过以下几种方法访问对象变量:
公共变量。 user.fullName直接指向用户对象变量,例如如果您在php中调用$ object-> fullName
公开方法。 user.fullName指向用户对象的getFullName()
方法,就像您在php中调用$ object-> getFullName()一样。
因此,可以将fullName getFullName()
public或添加getFullName()
方法(推荐)。
protected
意味着可变性仅可用于相同的类和子类实例,而不能用于其他任何地方。
为您的班级提供适当的public
,例如, public function getFullname(){ return $this -> fullName; }
public function getFullname(){ return $this -> fullName; }
。
你必须增加对吸气fullName
外地在App\\Bundle\\CoreBundle\\Entity\\Employee
实体:
public function getFullName() {
return $this->fullName;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.