小编Doo*_*roo的帖子

在Symfony 2.1抽象类型中访问当前用户

我对如何访问Symfony 2中的当前用户感到有点困惑.目前我正在尝试根据当前用户的ROLES显示表单的变体(AbstractType).

Gremo已经回答了类似的问题:Access当前在EntityRepository中登录用户

我的问题是:在没有使用JMSDiExtraBundle的情况下,是否有一种Symfony 2本地方式来访问AbstractType类中的用户?谢谢!

这是我目前的代码:

namespace Acme\DemoBundle\Form;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;

class Comment extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {

        //somehow access the current user here

        $builder
            ->add('name')
            ->add('comment_text')
            ->add('comment_email')

        // Add more fields depending on user role

                ;
    }

    public function setDefaultOptions(OptionsResolverInterface $resolver)
    {
        $resolver->setDefaults(array(
            'data_class' => 'Acme\DemoBundle\Entity\Comment'
        ));
    }

    public function getName()
    {
        return 'acme_demobundle_comment';
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑:我正在寻找当前登录的用户(security.context)

symfony symfony-2.1

3
推荐指数
2
解决办法
1万
查看次数

标签 统计

symfony ×1

symfony-2.1 ×1