FOSCommentBundle功能包:与FOSUserBundle集成

  • 原文出处:6-integration_with_fosuserbundle.md

  • 原文作者:FriendsOfSymfony

  • 授权许可:创作共用协议

  • 翻译人员:FireHare

  • 校对人员:

  • 适用版本:FOSCommentBundle 2.0.5

  • 文章状态:草译阶段

Step 6: Integration with FOSUserBundle

By default, comments are made anonymously.FOSUserBundle authentication can be used to sign the comments.

缺省情况下,评论是匿名的。FOSUserBundle 认证可以用来标识评论。

A) Setup FOSUserBundle(安装FOSUserBundle)

First you have to setup FOSUserBundle. Check the instructions.

首先您需要安装 FOSUserBundle。请参阅说明。

B) Extend the Comment class(扩展评论类)

In order to add an author to a comment, the Comment class should implement the SignedCommentInterface and add a field to your mapping.

为了为评论添加作者,Comment类需要实现SignedCommentInterface接口,并添加一个字段到您的映射。


For example in the ORM:

例如,在ORM中:

<?php
// src/MyProject/MyBundle/Entity/Comment.php
namespace MyProject\MyBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use FOS\CommentBundle\Entity\Comment as BaseComment;
use FOS\CommentBundle\Model\SignedCommentInterface;
use Symfony\Component\Security\Core\User\UserInterface;
/**
 * @ORM\Entity
 */
class Comment extends BaseComment implements SignedCommentInterface
{
    // .. fields
    /**
     * Author of the comment
     *
     * @ORM\ManyToOne(targetEntity="MyProject\MyBundle\Entity\User")
     * @var User
     */
    protected $author;
    public function setAuthor(UserInterface $author)
    {
        $this->author = $author;
    }
    public function getAuthor()
    {
        return $this->author;
    }
    public function getAuthorName()
    {
        if (null === $this->getAuthor()) {
            return 'Anonymous';
        }
        return $this->getAuthor()->getUsername();
    }
}

That is it!

Return to the index.

返回到指南索引页。


你可能感兴趣的:(Bundle,symfony2,功能包)