【问题标题】:how do I access my own variables in the user class fos_userBundle如何在用户类 fosuserBundle 中访问我自己的变量
【发布时间】:2012-07-21 23:19:47
【问题描述】:

我是 symfony 的新手,我正在尝试学习如何访问用户变量。

这就是我检索用户名的方法:

$this->container->get('security.context')->getToken()->getUser()->getUsername();

但是我如何检索我自己创建的变量,在我的例子中是 $company(int)? 我已经试过了

    $this->container->get('security.context')->getToken()->getUser()->getCompany();

然后它返回给我一个似乎是无限大小的对象,如果我对其执行 var_dump,chrome 永远不会停止加载该页面!

【问题讨论】:

  • @mask8 这是私有或受保护的财产,所以他必须调用 getter...
  • 使用\Doctrine\Common\Util\Debug::dump(...) 而不是var_dump
  • @MattiasSvensson 通常安装 Xdebug (xdebug.org) 是个好主意。它会吐出更具可读性和紧凑性的 var_dump。

标签: php symfony fosuserbundle


【解决方案1】:

我假设 company 是您通过外键链接到用户的另一个实体?

如果是这样,执行 var_dump 几乎会转储大量您不需要的信息。 要么输出公司的特定变量,所以 $this->container->get('security.context')->getToken()->getUser()->getCompany()->getName(); 或尝试将其转换为类似的字符串 $this->container->get('security.context')->getToken()->getUser()->getCompany()->__toString();

无论如何,您都必须实现 toString 方法,但这样做总是好的,因为这意味着在 twig 模板中您可以获得类似 {{ app.user.company }} 而不是 {{ app.user.company.名称}}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-19
    • 2012-03-25
    • 1970-01-01
    • 2016-11-06
    相关资源
    最近更新 更多